public Peca ExecutaMovimento(Posicao origem, Posicao destino) { Peca p = Tab.RemovePeca(origem); p.IncrementarQtdMovimento(); Peca pecaCapturada = Tab.RemovePeca(destino); Tab.PutPeca(p, destino); if (pecaCapturada != null) { Capturadas.Add(pecaCapturada); } //#jogada especial roque pequeno if (p is Rei && destino.Coluna == origem.Coluna + 2) { Posicao origemTorre = new Posicao(origem.Linha, origem.Coluna + 3); Posicao destinoTorre = new Posicao(origem.Linha, origem.Coluna + 1); Peca torreRoque = Tab.RemovePeca(origemTorre); torreRoque.IncrementarQtdMovimento(); Tab.PutPeca(torreRoque, destinoTorre); } //#jogada especial roque grande if (p is Rei && destino.Coluna == origem.Coluna - 2) { Posicao origemTorre = new Posicao(origem.Linha, origem.Coluna - 4); Posicao destinoTorre = new Posicao(origem.Linha, origem.Coluna - 1); Peca torreRoque = Tab.RemovePeca(origemTorre); torreRoque.IncrementarQtdMovimento(); Tab.PutPeca(torreRoque, destinoTorre); } // #jogada especial en passant if (p is Peao) { if (origem.Coluna != destino.Coluna && pecaCapturada == null) { Posicao posicaoPeao; if (p.Cor == Cor.Branca) { posicaoPeao = new Posicao(destino.Linha + 1, destino.Coluna); } else { posicaoPeao = new Posicao(destino.Linha - 1, destino.Coluna); } pecaCapturada = Tab.RemovePeca(posicaoPeao); Capturadas.Add(pecaCapturada); } } return(pecaCapturada); }
public Peca executaMovimento(Posicao origem, Posicao destino) { Peca p = Tab.retirarPeca(origem); p.incrementarQteMovimentos(); 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.incrementarQteMovimentos(); 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.incrementarQteMovimentos(); Tab.colocarPeca(T, destinoT); } //# jogada especial 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 peca = Tabuleiro.RetirarPeca(origem); peca.IncrementarMovimentos(); Peca pecaCapturada = Tabuleiro.RetirarPeca(destino); Tabuleiro.ColocarPeca(peca, destino); if (pecaCapturada != null) { Capturadas.Add(pecaCapturada); } // #jogadaespecial Roque Pequeno if (peca is Rei && destino.Coluna == origem.Coluna + 2) { Posicao origemTorre = new Posicao(origem.Linha, origem.Coluna + 3); Posicao destinoTorre = new Posicao(origem.Linha, origem.Coluna + 1); Peca torre = Tabuleiro.RetirarPeca(origemTorre); torre.IncrementarMovimentos(); Tabuleiro.ColocarPeca(torre, destinoTorre); } // #jogadaespecial Roque Grande if (peca is Rei && destino.Coluna == origem.Coluna - 2) { Posicao origemTorre = new Posicao(origem.Linha, origem.Coluna - 4); Posicao destinoTorre = new Posicao(origem.Linha, origem.Coluna - 1); Peca torre = Tabuleiro.RetirarPeca(origemTorre); torre.IncrementarMovimentos(); Tabuleiro.ColocarPeca(torre, destinoTorre); } // #jogadaespecial en passant if (peca is Peao) { if (origem.Coluna != destino.Coluna && pecaCapturada == null) { Posicao posicaoPeao; if (peca.Cor == Cor.Branca) { posicaoPeao = new Posicao(destino.Linha + 1, destino.Coluna); } else { posicaoPeao = new Posicao(destino.Linha - 1, destino.Coluna); } pecaCapturada = Tabuleiro.RetirarPeca(posicaoPeao); Capturadas.Add(pecaCapturada); } } return(pecaCapturada); }
private void DesfazMovimento(Posicao origem, Posicao destino, Peca capturada) { Peca p = Tab.RemovePeca(destino); p.DecrementarQtdMovimento(); if (capturada != null) { Tab.PutPeca(capturada, destino); Capturadas.Remove(capturada); } //#jogada especial roque pequeno if (p is Rei && destino.Coluna == origem.Coluna + 2) { Posicao origemTorre = new Posicao(origem.Linha, origem.Coluna + 3); Posicao destinoTorre = new Posicao(origem.Linha, origem.Coluna + 1); Peca torreRoque = Tab.RemovePeca(destinoTorre); torreRoque.DecrementarQtdMovimento(); Tab.PutPeca(torreRoque, origemTorre); } //#jogada especial roque grande if (p is Rei && destino.Coluna == origem.Coluna - 2) { Posicao origemTorre = new Posicao(origem.Linha, origem.Coluna - 4); Posicao destinoTorre = new Posicao(origem.Linha, origem.Coluna - 1); Peca torreRoque = Tab.RemovePeca(destinoTorre); torreRoque.DecrementarQtdMovimento(); Tab.PutPeca(torreRoque, origemTorre); } // #jogadaespecial en passant if (p is Peao) { if (origem.Coluna != destino.Coluna && capturada == VuneravelEnPassant) { Peca peao = Tab.RemovePeca(destino); Posicao posicaoPeao; if (p.Cor == Cor.Branca) { posicaoPeao = new Posicao(3, destino.Coluna); } else { posicaoPeao = new Posicao(4, destino.Coluna); } Tab.PutPeca(peao, posicaoPeao); } } Tab.PutPeca(p, origem); }
public Peca ExecutaMovimento(Posicao origem, Posicao destino) { Peca p = Tab.retirarPeca(origem); p.IncrementMoviment(); Peca pecaCapturada = Tab.retirarPeca(destino); Tab.ColocarPeca(p, destino); if (pecaCapturada != null) { Capturadas.Add(pecaCapturada); } //#JogadaEspecial Roque Pequeno if (p is King && destino.Coluna == origem.Coluna + 2) { Posicao origemTorre = new Posicao(origem.Linha, origem.Coluna + 3); Posicao destinoTorre = new Posicao(origem.Linha, origem.Coluna + 1); Peca torre = Tab.retirarPeca(origemTorre); torre.IncrementMoviment(); Tab.ColocarPeca(torre, destinoTorre); } //#JogadaEspecial Roque Grande if (p is King && destino.Coluna == origem.Coluna - 2) { Posicao origemTorre = new Posicao(origem.Linha, origem.Coluna - 4); Posicao destinoTorre = new Posicao(origem.Linha, origem.Coluna - 1); Peca torre = Tab.retirarPeca(origemTorre); torre.IncrementMoviment(); Tab.ColocarPeca(torre, destinoTorre); } //#JogadaEspecial EnPassant if (p is Pawn) { if (origem.Coluna != p.Position.Coluna && pecaCapturada == null) { Posicao posP; if (p.Color == Cor.White) { 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 void DesfazMovimento(Posicao origem, Posicao destino, Peca pecaCapturada) { Peca peca = Tabuleiro.RetirarPeca(destino); peca.DecrementarMovimentos(); if (pecaCapturada != null) { Tabuleiro.ColocarPeca(pecaCapturada, destino); Capturadas.Remove(pecaCapturada); } Tabuleiro.ColocarPeca(peca, origem); // #jogadaespecial Roque Pequeno if (peca is Rei && destino.Coluna == origem.Coluna + 2) { Posicao origemTorre = new Posicao(origem.Linha, origem.Coluna + 3); Posicao destinoTorre = new Posicao(origem.Linha, origem.Coluna + 1); Peca torre = Tabuleiro.RetirarPeca(destinoTorre); torre.IncrementarMovimentos(); Tabuleiro.ColocarPeca(torre, origemTorre); } // #jogadaespecial Roque Grande if (peca is Rei && destino.Coluna == origem.Coluna - 2) { Posicao origemTorre = new Posicao(origem.Linha, origem.Coluna - 4); Posicao destinoTorre = new Posicao(origem.Linha, origem.Coluna - 1); Peca torre = Tabuleiro.RetirarPeca(destinoTorre); torre.IncrementarMovimentos(); Tabuleiro.ColocarPeca(torre, origemTorre); } // #jogadaespecial en passant if (peca is Peao) { if (origem.Coluna != destino.Coluna && pecaCapturada == VulneravelEnPassant) { Peca peao = Tabuleiro.RetirarPeca(destino); Posicao posicaoPeao; if (peca.Cor == Cor.Branca) { posicaoPeao = new Posicao(3, destino.Coluna); } else { posicaoPeao = new Posicao(4, destino.Coluna); } Tabuleiro.ColocarPeca(peao, posicaoPeao); } } }
public void desFazMovimento(Posicao origem, Posicao destino, Peca pecaCapturada) { Peca p = Tab.retirarPeca(destino); p.decrementarQteMovimentos(); if (pecaCapturada != null) { Tab.colocarPeca(pecaCapturada, destino); Capturadas.Remove(pecaCapturada); } Tab.colocarPeca(p, origem); //# 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(destinoT); T.decrementarQteMovimentos(); Tab.colocarPeca(T, origemT); } //# 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(destinoT); T.decrementarQteMovimentos(); Tab.colocarPeca(T, origemT); } //# jogada especial en passant if (p is Peao) { if (origem.Coluna != destino.Coluna && pecaCapturada == VulneravelEnPassant) { Peca peao = Tab.retirarPeca(destino); Posicao posP; if (peao.Cor == Cor.Branca) { posP = new Posicao(3, destino.Coluna); } else { posP = new Posicao(4, destino.Coluna); } Tab.colocarPeca(peao, posP); } } }
public void DesfazMovimento(Posicao origem, Posicao destino, Peca pecaCapturada) { Peca p = Tab.RetirarPeca(destino); p.DecrementarQteMovimento(); if (pecaCapturada != null) { Tab.ColocarPeca(pecaCapturada, destino); Capturadas.Remove(pecaCapturada); } Tab.ColocarPeca(p, origem); }
private void DesfazMovimento(Posicao origem, Posicao destino, Peca pecaCapturada) { Peca p = Tab.RetirarPeca(destino); p.DecrementarQtdMovimentos(); if (pecaCapturada != null) { Tab.ColocarPeca(pecaCapturada, destino); Capturadas.Remove(pecaCapturada); } Tab.ColocarPeca(p, origem); // #jogada especial roque 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(destinoT); T.DecrementarQtdMovimentos(); Tab.ColocarPeca(T, origemT); } 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(destinoT); T.IncrementarQtdMovimentos(); Tab.ColocarPeca(T, origemT); } // enpassant if (p is Peao) { if (origem.Coluna != destino.Coluna && pecaCapturada == VulveravelEnPassant) { Peca peao = Tab.RetirarPeca(destino); Posicao posP; if (p.Cor == Cor.Branca) { posP = new Posicao(3, destino.Coluna); } else { posP = new Posicao(4, destino.Coluna); } Tab.ColocarPeca(peao, posP); } } }
public void DesfazMovimento(Posicao origem, Posicao destino, Peca pecaCapturada) { Peca p = Tab.retirarPeca(destino); p.DecrementMoviment(); if (pecaCapturada != null) { Tab.ColocarPeca(pecaCapturada, destino); Capturadas.Remove(pecaCapturada); } Tab.ColocarPeca(p, origem); //#JogadaEspecial Roque Pequeno if (p is King && destino.Coluna == origem.Coluna + 2) { Posicao origemTorre = new Posicao(origem.Linha, origem.Coluna + 3); Posicao destinotorre = new Posicao(origem.Linha, origem.Coluna + 1); Peca torre = Tab.PegaPeca(destinotorre); torre.DecrementMoviment(); Tab.ColocarPeca(torre, origemTorre); } //#JogadaEspecial Roque Grande if (p is King && destino.Coluna == origem.Coluna - 2) { Posicao origemTorre = new Posicao(origem.Linha, origem.Coluna - 4); Posicao destinotorre = new Posicao(origem.Linha, origem.Coluna - 1); Peca torre = Tab.PegaPeca(destinotorre); torre.DecrementMoviment(); Tab.ColocarPeca(torre, origemTorre); } //#JogadaEspecial EnPassant if (p is Pawn) { if (origem.Coluna != destino.Coluna && pecaCapturada == VuneravelEnPassant) { Peca peao = Tab.retirarPeca(destino); Posicao posP; if (p.Color == Cor.White) { posP = new Posicao(3, destino.Coluna); } else { posP = new Posicao(4, destino.Coluna); } Tab.ColocarPeca(peao, posP); } } }
public Peca ExecutaMovimento(Posicao origem, Posicao destino) { Peca p = Tab.RetiraPeca(origem); p.IncrementarQuantMovimentos(); Peca PecaCapturada = Tab.RetiraPeca(destino); Tab.ColocarPeca(p, destino); if (PecaCapturada != null) { Capturadas.Add(PecaCapturada); } // #JogadaEspecial - 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.RetiraPeca(origemT); T.IncrementarQuantMovimentos(); Tab.ColocarPeca(T, destinoT); } // #JogadaEspecial - 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.RetiraPeca(origemT); T.IncrementarQuantMovimentos(); Tab.ColocarPeca(T, destinoT); } // #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.RetiraPeca(posP); Capturadas.Add(PecaCapturada); } } return(PecaCapturada); }
public Peca ExecutarMovimento(Posicao origem, Posicao destino) { Peca p = Tab.RetirarPeca(origem); p.IncrementarQteMovimento(); Peca pecaCapturada = Tab.RetirarPeca(destino); Tab.ColocarPeca(p, destino); if (pecaCapturada != null) { Capturadas.Add(pecaCapturada); } return(pecaCapturada); }