public void ExecutaMovimento(Posicao origem, Posicao destino) { Peca p = Tabuleiro.RetirarPeca(origem); p.IncrementarQteMovimentos(); Peca PecaCapturada = Tabuleiro.RetirarPeca(destino); Tabuleiro.ColocarPeca(p, destino); }
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); } #region RoquePequeno 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 torre = Tab.RetirarPeca(origemTorre); torre.IncrementarQteMovimentos(); Tab.ColocarPeca(torre, destinoTorre); } #endregion #region RoqueGrande 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 torre2 = Tab.RetirarPeca(origemTorre); torre2.IncrementarQteMovimentos(); Tab.ColocarPeca(torre2, destinoTorre); } #endregion #region EnPassant 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.RetirarPeca(posicaoPeao); capturadas.Add(pecaCapturada); } } #endregion 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); } // #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.RetirarPeca(origemT); T.IncrementarQteMovimentos(); 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.RetirarPeca(origemT); T.IncrementarQteMovimentos(); 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.RetirarPeca(posP); _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); } // #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.RetirarPeca(OrigemT); T.IncrementarQteMovimentos(); 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.RetirarPeca(OrigemT); T.IncrementarQteMovimentos(); 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.RetirarPeca(posP); Capturadas.Add(PecaCapturada); } } return(PecaCapturada); }
public Peca ExecutaMovimento(Posicao origem, Posicao destino) { Peca p = tabuleiro.RetirarPeca(origem); p.IncrementarQteMovimentos(); Peca pecaCapturada = tabuleiro.RetirarPeca(destino); tabuleiro.ColocarPeca(p, destino); if (pecaCapturada != null) { Capturadas.Add(pecaCapturada); } // #jogadaEspecial 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 torre = tabuleiro.RetirarPeca(origemTorre); torre.IncrementarQteMovimentos(); tabuleiro.ColocarPeca(torre, destinoTorre); } // #jogadaEspecial 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 torre = tabuleiro.RetirarPeca(origemTorre); torre.IncrementarQteMovimentos(); tabuleiro.ColocarPeca(torre, destinoTorre); } // #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 = tabuleiro.RetirarPeca(posP); 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); } // #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.RetirarPeca(origemT); t.IncrementarQteMovimentos(); 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.RetirarPeca(origemT); t.IncrementarQteMovimentos(); 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.RetirarPeca(posP); 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); } //#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.RetirarPeca(origemT); T.IncrementarQteMovimentos(); 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.RetirarPeca(origemT); T.IncrementarQteMovimentos(); 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.RetirarPeca(posP); capturadas.Add(pecaCapturada); } } return(pecaCapturada); }
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); // #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.RetirarPeca(destinoT); t.IncrementarQteMovimentos(); Tab.ColocarPeca(t, origemT); } // #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.RetirarPeca(destinoT); t.IncrementarQteMovimentos(); Tab.ColocarPeca(t, origemT); } // #JOGADAESPECIAL EN PASSANT if (p is Peao) { if (origem.Coluna != destino.Coluna && pecaCapturada == VulneravelEnPassant) { 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 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); } //JogadaEspecial 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 Torre = Tab.RetirarPeca(origemTorre); Torre.IncrementarQteMovimentos(); Tab.ColocarPeca(Torre, destinoTorre); } //JogadaEspecial 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 Torre = Tab.RetirarPeca(origemTorre); Torre.IncrementarQteMovimentos(); Tab.ColocarPeca(Torre, destinoTorre); } //#JogadaEspecial En Passant if (p is Peao) { if (origem.Coluna != destino.Coluna && PecaCapturada == null) { Posicao posPeao; if (p.Cor == Cor.Branca) { posPeao = new Posicao(destino.Linha + 1, destino.Coluna); } else { posPeao = new Posicao(destino.Linha - 1, destino.Coluna); } PecaCapturada = Tab.RetirarPeca(posPeao); Capturadas.Add(PecaCapturada); } } return(PecaCapturada); }
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); //#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.RetirarPeca(destinoT); T.DecrementarQteMovimentos(); Tab.ColocarPeca(T, origemT); } //#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.RetirarPeca(destinoT); T.IncrementarQteMovimentos(); Tab.ColocarPeca(T, origemT); } //#JogadaEspecial en passant if (p is Peao) { if (origem.Coluna != destino.Coluna && pecaCapturada == VulneravelEnPassant) { 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 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); } }