public void ExecutaMovimento(Posicao _origem, Posicao _destino) { Peca p = tabuleiro.RetirarPeca(_origem); p.IncrementarQtdMovimento(); Peca pecacapturada = tabuleiro.RetirarPeca(_destino); tabuleiro.ColocarPeca(p, _destino); }
public void ExecutaMovimento(Posicao origem, Posicao destino) { Peca p = Tab.RetirarPeca(origem); p.IncrementarQtdMovimento(); Peca PecaCapturada = Tab.RetirarPeca(destino); Tab.ColocarPeca(p, destino); }
public Peca ExecutaMovimento(Posicao origem, Posicao destino) { Peca p = Tab.RetirarPeca(origem); p.IncrementarQtdMovimento(); Peca pecaCapturada = Tab.RetirarPeca(destino); Tab.ColocarPeca(p, destino); if (pecaCapturada != null) { this._capturadas.Add(pecaCapturada); } //#jogadaEspecial Roque Pequeno if (p is Rei && destino.Coluna == origem.Coluna + 2) { Posicao origemDaTorre = new Posicao(origem.Linha, origem.Coluna + 3); Posicao destinoDaTorre = new Posicao(origem.Linha, origem.Coluna + 1); Peca Torre = Tab.RetirarPeca(origemDaTorre); Torre.IncrementarQtdMovimento(); Tab.ColocarPeca(Torre, destinoDaTorre); } //#jogadaEspecial Roque Grande if (p is Rei && destino.Coluna == origem.Coluna - 2) { Posicao origemDaTorre = new Posicao(origem.Linha, origem.Coluna - 4); Posicao destinoDaTorre = new Posicao(origem.Linha, origem.Coluna - 1); Peca Torre = Tab.RetirarPeca(origemDaTorre); Torre.IncrementarQtdMovimento(); Tab.ColocarPeca(Torre, destinoDaTorre); } //#jogadaEspecial en passant if (p is Peao) { if (origem.Coluna != destino.Coluna && pecaCapturada == null) { Posicao posP; if (p.Cor == Cor.Branca) { posP = new Posicao(destino.Linha + 1, destino.Coluna); } else { posP = new Posicao(destino.Linha - 1, destino.Coluna); } pecaCapturada = Tab.RetirarPeca(posP); _capturadas.Add(pecaCapturada); } } return(pecaCapturada); }
public Peca ExecutaMovimento(Posicao origem, Posicao destino) { Peca p = Tab.RetirarPeca(origem); p.IncrementarQtdMovimento(); Peca PecaCapturada = Tab.RetirarPeca(destino); Tab.ColocarPeca(p, destino); if (PecaCapturada != null) { Capturadas.Add(PecaCapturada); } // #Jogada especial roque pequeno if (p is Rei && destino.Coluna == origem.Coluna + 2) { Posicao origemT = new Posicao(origem.Linha, origem.Coluna + 3); Posicao destinoT = new Posicao(origem.Linha, origem.Coluna + 1); Peca T = Tab.RetirarPeca(origemT); T.IncrementarQtdMovimento(); Tab.ColocarPeca(T, destinoT); } // #Jogada especial roque Grande if (p is Rei && destino.Coluna == origem.Coluna - 2) { Posicao origemT = new Posicao(origem.Linha, origem.Coluna - 4); Posicao destinoT = new Posicao(origem.Linha, origem.Coluna - 1); Peca T = Tab.RetirarPeca(origemT); T.IncrementarQtdMovimento(); Tab.ColocarPeca(T, destinoT); } //#Jogada especial en passant if (p is Peao) { if (origem.Coluna != destino.Coluna && PecaCapturada == null) { Posicao posP; if (p.Collor == Cor.Branca) { posP = new Posicao(destino.Linha + 1, destino.Coluna); } else { posP = new Posicao(destino.Linha - 1, destino.Coluna); } PecaCapturada = Tab.RetirarPeca(posP); Capturadas.Add(PecaCapturada); } } return(PecaCapturada); }
public Peca ExecutaMovimento(Posicao origem, Posicao destino) { Peca p = Tabuleiro.RetirarPeca(origem); p.IncrementarQtdMovimento(); Peca pecaCapturada = Tabuleiro.RetirarPeca(destino); Tabuleiro.ColocarPeca(p, destino); if (pecaCapturada != null) { Capturadas.Add(pecaCapturada); } //#jogada especial roque PEQUENO if (p is Rei && destino.Coluna == origem.Coluna + 2) { Posicao origemT = new Posicao(origem.Linha, origem.Coluna + 3); Posicao destinoT = new Posicao(origem.Linha, origem.Coluna + 1); Peca torre = Tabuleiro.RetirarPeca(origemT); torre.IncrementarQtdMovimento(); Tabuleiro.ColocarPeca(torre, destinoT); } //#jogada especial roque GRANDE if (p is Rei && destino.Coluna == origem.Coluna - 2) { Posicao origemT = new Posicao(origem.Linha, origem.Coluna - 4); Posicao destinoT = new Posicao(origem.Linha, origem.Coluna - 1); Peca torre = Tabuleiro.RetirarPeca(origemT); torre.IncrementarQtdMovimento(); Tabuleiro.ColocarPeca(torre, destinoT); } //#jogada especial enpassant if (p is Peao) { if (origem.Coluna != destino.Coluna && pecaCapturada == null) { Posicao posP; if (p.Cor == Cor.Branca) { posP = new Posicao(destino.Linha + 1, destino.Coluna); } else { posP = new Posicao(destino.Linha - 1, destino.Coluna); } pecaCapturada = Tabuleiro.RetirarPeca(posP); Capturadas.Add(pecaCapturada); } } return(pecaCapturada); }