public void PosicionarInicioPartida() { Pecas.Add(new Peca(new Point(1, 1), Cor.BRANCA)); Pecas.Add(new Peca(new Point(3, 1), Cor.BRANCA)); Pecas.Add(new Peca(new Point(5, 1), Cor.BRANCA)); Pecas.Add(new Peca(new Point(7, 1), Cor.BRANCA)); Pecas.Add(new Peca(new Point(2, 2), Cor.BRANCA)); Pecas.Add(new Peca(new Point(4, 2), Cor.BRANCA)); Pecas.Add(new Peca(new Point(6, 2), Cor.BRANCA)); Pecas.Add(new Peca(new Point(8, 2), Cor.BRANCA)); Pecas.Add(new Peca(new Point(1, 3), Cor.BRANCA)); Pecas.Add(new Peca(new Point(3, 3), Cor.BRANCA)); Pecas.Add(new Peca(new Point(5, 3), Cor.BRANCA)); Pecas.Add(new Peca(new Point(7, 3), Cor.BRANCA)); Pecas.Add(new Peca(new Point(2, 6), Cor.PRETA)); Pecas.Add(new Peca(new Point(4, 6), Cor.PRETA)); Pecas.Add(new Peca(new Point(6, 6), Cor.PRETA)); Pecas.Add(new Peca(new Point(8, 6), Cor.PRETA)); Pecas.Add(new Peca(new Point(1, 7), Cor.PRETA)); Pecas.Add(new Peca(new Point(3, 7), Cor.PRETA)); Pecas.Add(new Peca(new Point(5, 7), Cor.PRETA)); Pecas.Add(new Peca(new Point(7, 7), Cor.PRETA)); Pecas.Add(new Peca(new Point(2, 8), Cor.PRETA)); Pecas.Add(new Peca(new Point(4, 8), Cor.PRETA)); Pecas.Add(new Peca(new Point(6, 8), Cor.PRETA)); Pecas.Add(new Peca(new Point(8, 8), Cor.PRETA)); }
public void RealizaJogada(Posicao origem, Posicao destino) { Peca pecaCapturada = ExecutaMovimento(origem, destino); if (EstaEmXeque(JogadorAtual)) { DesfazMovimento(origem, destino, pecaCapturada); throw new TabuleiroException("Você não pode se colocar em xeque!"); } Peca p = Tab.Peca(destino); // promoção if (p is Peao) { if ((p.Cor == Cor.Branca && destino.Linha == 0) || (p.Cor == Cor.Preta && destino.Linha == 7)) { p = Tab.RetirarPeca(destino); Pecas.Remove(p); Peca dama = new Dama(Tab, p.Cor, _spriteSheet, _atlas, PieceScaleRatio); Tab.ColocarPeca(dama, destino); Pecas.Add(dama); } } if (EstaEmXeque(Adversaria(JogadorAtual))) { Xeque = true; } else { Xeque = false; } if (TexteXequeMate(Adversaria(JogadorAtual))) { Terminada = true; } else { this.Turno++; MudaJogador(); } // #jogada especial en passant if (p is Peao && (destino.Linha == origem.Linha - 2 || destino.Linha == origem.Linha + 2)) { VulveravelEnPassant = p; } else { VulveravelEnPassant = null; } }
public void RealizaJogada(Posicao origem, Posicao destino) { Peca pecaCapturada = ExecutaMovimento(origem, destino); if (EstarEmXeque(JogadorAtual)) { DesfazMovimento(origem, destino, pecaCapturada); throw new TabuleiroException("Você não pode se colocar em Xeque!"); } Peca peca = Tabuleiro.Peca(destino); // #jogadaespecial promocao if (peca is Peao) { if (peca.Cor == Cor.Branca && destino.Linha == 0 || peca.Cor == Cor.Preta && destino.Linha == 7) { peca = Tabuleiro.RetirarPeca(destino); Pecas.Remove(peca); Peca rainha = new Rainha(Tabuleiro, peca.Cor); Tabuleiro.ColocarPeca(rainha, destino); Pecas.Add(rainha); } } if (EstarEmXeque(Adversaria(JogadorAtual))) { Xeque = true; } else { Xeque = false; } if (TesteXequeMate(Adversaria(JogadorAtual))) { Terminada = true; } else { Turno++; MudaJogador(); } // #jogadaespecial en passant if (peca is Peao && destino.Linha == origem.Linha - 2 || destino.Linha == origem.Linha + 2) { VulneravelEnPassant = peca; } else { VulneravelEnPassant = null; } }
public void realizaJogada(Posicao origem, Posicao destino) { Peca pecaCapturada = executaMovimento(origem, destino); if (estaEmXeque(JogadorAtual)) { desfazMovimento(origem, destino, pecaCapturada); throw new TabuleiroException("Você não pode se colocar em xeque! "); } Peca p = Tab.peca(destino); // #jogadaespecial promocao if (p is Peao) { if ((p.Cor == Cor.Branca && destino.Linha == 0) || (p.Cor == Cor.Preta && destino.Linha == 7)) { p = Tab.retirarPeca(destino); Pecas.Remove(p); Peca dama = new Dama(Tab, p.Cor); Tab.colocarPeca(dama, destino); Pecas.Add(dama); } } if (estaEmXeque(adversaria(JogadorAtual))) { Xeque = true; } else { Xeque = false; } if (testeXequeMate(adversaria(JogadorAtual))) { Terminada = true; } else { Turno++; mudaJogador(); } // #jogadaespecial En Passant if (p is Peao && (destino.Linha == origem.Linha - 2 || destino.Linha == origem.Linha + 2)) { VulneravelEnPassant = p; } else { VulneravelEnPassant = null; } }
public void RealizaJogada(Posicao origem, Posicao destino) { Peca pecaCapturada = ExecutaMovimento(origem, destino); if (EstaEmXeque(JogadorAtual)) { DesfazMovimento(origem, destino, pecaCapturada); throw new TabulerioException("Voçe não pode se colocar em Xeque."); } Peca p = Tab.GetPeca(destino); // #jogadaespecial promocao if (p is Peao) { if ((p.Cor == Cor.Branca && destino.Linha == 0) || (p.Cor == Cor.Preta && destino.Linha == 7)) { p = Tab.RemoverPeca(destino); Pecas.Remove(p); Peca dama = new Dama(Tab, p.Cor); Tab.SetPeca(dama, destino); Pecas.Add(dama); } } if (EstaEmXeque(Adversario(JogadorAtual))) { Xeque = true; } else { Xeque = false; } if (XequeMate(Adversario(JogadorAtual))) { Terminada = true; } else { Turno++; MudaJogador(); } // #jogadaespecial en passant if (p is Peao && (destino.Linha == origem.Linha - 2 || destino.Linha == origem.Linha + 2)) { VulneravelEnPassant = p; } else { VulneravelEnPassant = null; } }
public void RealizaJogada(Posicao origem, Posicao destino) { Peca capturada = ExecutaMovimento(origem, destino); if (EstaEmCheque(JogadorAtual)) { DesfazMovimento(origem, destino, capturada); throw new TabuleiroException($"Você não pode se por em cheque!!!"); } Peca p = Tab.GetPeca(destino); //#jogadaespcial promocao if (p is Peao) { if ((p.Cor == Cor.Branca && destino.Linha == 0) || (p.Cor == Cor.Preta && destino.Linha == 7)) { p = Tab.RemovePeca(destino); Pecas.Remove(p); Peca rainha = new Rainha(p.Cor, Tab); Tab.PutPeca(rainha, destino); Pecas.Add(rainha); } } if (EstaEmCheque(Adversario(JogadorAtual))) { Xeque = true; } else { Xeque = false; } if (TesteXequemate(Adversario(JogadorAtual))) { Terminada = true; } else { Turno++; MudaJogador(); } // #jogadaespecial en passant if (p is Peao && (destino.Linha == origem.Linha - 2 || destino.Linha == origem.Linha + 2)) { VuneravelEnPassant = p; } else { VuneravelEnPassant = null; } }
public void RealizaJogada(Posicao origem, Posicao destino) { Peca pecaCapturada = ExecutaMovimento(origem, destino); Peca p = Tab.PegaPeca(destino); if (EstaXeque(JogadorAtual)) { DesfazMovimento(origem, destino, pecaCapturada); throw new GameBoardException("Você não pode se colocar em xeque!"); } //#JogadaEspecial Promocao if (p is Pawn) { if ((p.Color == Cor.White && destino.Linha == 0) || (p.Color == Cor.Black && destino.Linha == 7)) { p = Tab.retirarPeca(destino); Pecas.Remove(p); Peca queen = new Queen(Tab, p.Color); Tab.ColocarPeca(queen, destino); Pecas.Add(queen); } } if (EstaXeque(Adversaria(JogadorAtual))) { Xeque = true; } else { Xeque = false; } if (TesteXequeMate(Adversaria(JogadorAtual))) { Terminada = true; } else { Turno++; MudaJogador(); } //#JogadaEspecial EnPassant if (p is Pawn && (origem.Linha + 2 == destino.Linha || origem.Linha - 2 == destino.Linha)) { VuneravelEnPassant = p; } else { VuneravelEnPassant = null; } }
public void ColocarNovaPeca(char coluna, int linha, Peca peca) { Tab.SetPeca(peca, new PosicaoXadrez(coluna, linha).ToPosicao()); Pecas.Add(peca); }
public void ColocarNovaPeca(char coluna, int linha, Peca peca) { this._tabuleiro.AdicionarPeca(peca, new PosicaoXadrez(coluna, linha).ToPosicao()); Pecas.Add(peca); }
public void ColocarNovaPeca(char coluna, int linha, Peca peca) { Tab.ColocarPeca(peca, new PosicaoXadrez(coluna, linha).ConvertPosition()); Pecas.Add(peca); }
public void colocarNovaPeca(char coluna, int linha, Peca peca) { Tabuleiro.colocarPeca(peca, new PosicaoXadrez(coluna, linha).toPosicao()); Pecas.Add(peca); }