private void ColocarNovaPeca(char coluna, int linha, Peca peca) { Tab.ColocarPeca(peca, new PosicaoXadrez(coluna, linha).ToPosicao()); Pecas.Add(peca); }
private bool podeMover(Posicao pos) { Peca p = tabu.peca(pos); return(p == null || p.cor != this.cor); }
public void ColocarNovaPeca(char coluna, int linha, Peca peca) { Tab.ColocarPeca(peca, new PosicaoXadrez(coluna, linha).ToPosicao()); ConjuntoPecas.Add(peca); }
private bool PodeMover(Posicao pos) { Peca p = Tab.Peca(pos); return(p == null || p.Cor != this.Cor); }
private bool movimentoLivre(Posicao pos) { Peca p = tab.peca(pos); return(p == null || p.cor != this.cor); }
private bool PodeMover(Posicao posicao) { Peca peca = Tab.Peca(posicao); return(peca == null || peca.Cor != Cor); }
private bool PodeMover(Posicao pos) { Peca p = Tabuleiro.Peca(pos); return(p == null || p.Cor != Cor); }
public void colocarNovaPeca(char coluna, int linha, Peca peca) { tab.colocarPeca(peca, new PosicaoXadrez(coluna, linha).ToPosicao()); pecas.Add(peca); }
public void ColocarNovaPeca(Peca peca, char coluna, int linha) { Tabuleiro.ColocarPeca(peca, new PosicaoTabuleiro(coluna, linha).ToPosicao()); _pecasEmJogo.Add(peca); }
private bool isThereEnemy(Position pos) { Peca p = board.peca(pos); return(p != null && p.color != this.color); }
private bool CanMove(Posicao pos) { Peca p = Chess.Piece(pos); return(p == null || p.Cor != Cor); }
private bool isFree(Position pos) { Peca p = board.peca(pos); return(board.peca(pos) == null); }
private bool canMove(Position pos) { Peca p = board.peca(pos); return(p == null || p.color != this.color); }
private bool TesteTorreParaRoque(Posicao pos) { Peca p = Tab.Peca(pos); return(p != null && p is Torre && p.Cor == Cor && p.QteMovimetos == 0); }
public bool existeInimigo(Posicao pos) { Peca p = tab.peca(pos); return(p == null || p.cor != cor); }
protected bool PodeMover(Posicao pos) { Peca p = Tab.GetPeca(pos); return(p == null || p.CorAtual != CorAtual); }
private bool testeTorreParaRoque(Posicao pos) { Peca p = tab.peca(pos); return(p != null && p is Torre && p.cor == cor && p.qtdMovimentos == 0); }
public void Jogada(Posicao origem, Posicao destino) { Peca captura = MoverPeca(origem, destino); if (EmXeque(JogadorAtual)) { ReverterJogada(origem, destino, captura); throw new TabuleiroException("Impossível se colocar em cheque!"); } Peca p = Tabuleiro.Peca(destino); //PROMOÇÃO DE PEÇA if (p is Peao) { if (p.Cor == Cor.Branco && destino.Linha == 0 || p.Cor == Cor.Preto && destino.Linha == 7) { Console.WriteLine(); Console.WriteLine("Possível promoção!"); Console.Write("Escolha [T]Torre, [B]Bispo, [C]Cavalo ou [D]Dama: "); string promo = Console.ReadLine().ToLower(); switch (promo) { case "t": Peca T = new Torre(Tabuleiro, p.Cor); Tabuleiro.RetirarPeca(destino); pecas.Remove(p); Tabuleiro.ColocarPeca(T, destino); pecas.Add(T); break; case "b": Peca B = new Bispo(Tabuleiro, p.Cor); Tabuleiro.RetirarPeca(destino); pecas.Remove(p); Tabuleiro.ColocarPeca(B, destino); pecas.Add(B); break; case "c": Peca C = new Cavalo(Tabuleiro, p.Cor); Tabuleiro.RetirarPeca(destino); pecas.Remove(p); Tabuleiro.ColocarPeca(C, destino); pecas.Add(C); break; case "d": Peca D = new Dama(Tabuleiro, p.Cor); Tabuleiro.RetirarPeca(destino); pecas.Remove(p); Tabuleiro.ColocarPeca(D, destino); pecas.Add(D); break; } } } if (EmXeque(GetCorAdversaria(JogadorAtual))) { JogadorEmXeque = true; } else { JogadorEmXeque = false; } if (XequeMate(GetCorAdversaria(JogadorAtual))) { Finalizada = true; } else { Turno++; MudarJogador(); } //EN PASSANT if (p is Peao && (destino.Linha == origem.Linha + 2 || destino.Linha == origem.Linha - 2)) { EnPassant = p; } else { EnPassant = null; } }
private bool podeMover(Posicao pos) { Peca p = tabuleiro.Peca(pos); return(p == null || p.cor != cor); }
private void NovaPeca(Peca peca, PosicaoXadrez posicao) { Tabuleiro.ColocarPeca(peca, posicao.ToPosicao()); pecas.Add(peca); }
private bool podeMove(Posicao pos) { Peca p = tab.peca(pos); return(p == null || p.cor != cor); }
public bool testeTorreParaRoque(Posicao pos) { Peca p = tab.peca(pos); return(p != null && p is torre && p.cor == cor && qtemov == 0); }
public bool testeTorreParaRoque(Posicao pos) { Peca p = Tab.peca(pos); return(p != null && p is Torre && p.cor == cor && p.Movimentos == 0); }
/// <summary> /// Cria um movimento de captura. /// </summary> /// <param name="peca">Peça que está se movendo.</param> /// <param name="indice_origem">Índice da casa de origem.</param> /// <param name="indice_destino">Índice da casa de destino.</param> /// <param name="peca_captura">Peça capturada</param> public Movimento(Peca peca, int indice_origem, int indice_destino, Peca peca_captura) : this(peca, indice_origem, indice_destino) { PecaCaptura = peca_captura; }
private bool existeInimigo(Posicao pos) { Peca p = tab.peca(pos); return(p != null && p.cor != cor); }
/// <summary> /// Cria um movimento de promoção ou captura/promoção. /// </summary> /// <param name="peca">Peça que está se movendo.</param> /// <param name="indice_origem">Índice da casa de origem.</param> /// <param name="indice_destino">Índice da casa de destino.</param> /// <param name="peca_captura">Peça sendo capturada</param> /// <param name="peca_promocao">Peça de promoção (Dama, Torre, Bispo ou Cavalo)</param> public Movimento(Peca peca, int indice_origem, int indice_destino, Peca peca_captura, Peca peca_promocao) : this(peca, indice_origem, indice_destino) { PecaCaptura = peca_captura; PecaPromocao = peca_promocao; }
private bool testeTorreRoque(Posicao pos) { Peca p = tabu.peca(pos); return(p != null && p is Torre && p.cor == cor && p.qteMovimentos == 0); // use o is para checar se uma superclasse (p que é peça) é da subclasse correspondente (torre no caso) }
/// <summary> /// Captura de peão en-passant. /// </summary> /// <param name="peca">Peão</param> /// <param name="indice_origem">Índice da casa de origem.</param> /// <param name="indice_destino">Índice da casa de destino.</param> /// <param name="indice_peao_enpassant">Índice da casa do peão sendo removido.</param> public Movimento(Peca peca, int indice_origem, int indice_destino, int indice_peao_enpassant) : this(peca, indice_origem, indice_destino) { IndicePeaoEnPassant = indice_peao_enpassant; }
private bool ExisteInimigo(Posicao pos) { Peca p = Tab.Peca(pos); return(p != null && p.Cor != Cor); }
private bool podeMover(Posicao pos) { Peca p = Tab.getPeca(pos); return(p == null || p.Cor != Cor); }