public Dama(Tabuleiro tab, Cor cor) : base(cor, tab) { }
public Rei(Tabuleiro tab, Cor cor, PartidaDeXadrez partida) : base(tab, cor) { this.partida = partida; }
public Torre(Tabuleiro tab, Cor cor) : base(cor, tab) { }
public Dama(Cor cor, Tabuleiro tab) : base(cor, tab) { }
public Torre(Tabuleiro tab, Cor cor) : base(tab, cor) // Herdando da classe peça, o tabuleiro e a cor. { }
public Rei(Cor cor, Tabuleiro tab, PartidaDeXadrez partida) : base(cor, tab) { this.partida = partida; }
public Torre(Tabuleiro tab, Cor cor) : base(tab, cor) { /* Este construtor recebe um Tabuleiro tab e uma Cor cor * e repassa essas instrução para o construtor da superclasse Peca */ }
public Cavalo(Cor cor, Tabuleiro tabuleiro) : base(cor, tabuleiro) { }
public Peao(Tabuleiro tab, Cor cor, PartidaDeXadrez partida) : base(tab, cor) { Partida = partida; }
private bool PodeMover(Posicao pos) { Peca p = Tabuleiro.Peca(pos); return(p == null || p.Cor != Cor); }
public Cavalo(Tabuleiro tab, Cor cor) : base(cor, tab) { }
public Rei(Tabuleiro tab, Cor cor, PartidaDeXadrez partida) : base(cor, tab) { _partida = partida; }
public Cavalo(Color color, Tabuleiro tab) : base(color, tab) { }
public Cavalo(Tabuleiro tab, Cor cor, GameObject obj) : base(tab, cor, obj) { }
public Peao(Tabuleiro tab, Cor cor, PartidaDeXadrez partida) : base(cor, tab) { this.partida = partida; }
public Bispo(Cor cor, Tabuleiro tab) : base(cor, tab) { }
public Rainha(Tabuleiro tab, Cor cor) : base(tab, cor) { }
public Peao(Cor cor, Tabuleiro tab) : base(cor, tab) { }
public Rei(Tabuleiro tab, Cor cor) : base(tab, cor) { }
public Rei(Tabuleiro tab, Cor cor, PartidaDeXadrez partida, GameObject obj) : base(tab, cor, obj) { this.partida = partida; }
public Peao(Tabuleiro tabuleiro, string cor) : base(tabuleiro, cor) { }
public Peao(Tabuleiro tab, Cor cor) : base(tab, cor) { }
public Torre(Tabuleiro tab, Cor cor) : base(tab, cor) { }
public Bispo(Tabuleiro tab, Cor cor) : base(tab, cor) { }
public Bispo(Tabuleiro tab, Cor cor) : base(cor, tab) { }
public Torre(Cor cor, Tabuleiro tab) : base(cor, tab) { }
public Cavalo(Tabuleiro tab, Cor cor) : base(tab, cor) { }
class Rei : Peca { // A classe rei herda a classe peca // Construtor public Rei(Tabuleiro tab, Cor cor) : base(tab, cor) // repassa essa instrução para a classe peça { }
public Dama(Tabuleiro tab, Cor cor) : base(tab, cor) { }
public override bool[,] MovimentosPosiveis() { bool[,] matriz = new bool[Tabuleiro.Linhas, Tabuleiro.Colunas]; Posicao Posicao = new Posicao(0, 0); // posição norte Posicao.DefinirValores(Posicao.Linha - 1, Posicao.Coluna); while (Tabuleiro.PosicaoValida(Posicao) && PodeMover(Posicao)) { matriz[Posicao.Linha, Posicao.Coluna] = true; if (Tabuleiro.Peca(Posicao) != null && Tabuleiro.Peca(Posicao).Cor != Cor) { break; } Posicao.Linha = Posicao.Linha - 1; } // posição leste Posicao.DefinirValores(Posicao.Linha, Posicao.Coluna + 1); while (Tabuleiro.PosicaoValida(Posicao) && PodeMover(Posicao)) { matriz[Posicao.Linha, Posicao.Coluna] = true; if (Tabuleiro.Peca(Posicao) != null && Tabuleiro.Peca(Posicao).Cor != Cor) { break; } Posicao.Coluna = Posicao.Coluna + 1; } // posição sul Posicao.DefinirValores(Posicao.Linha + 1, Posicao.Coluna); while (Tabuleiro.PosicaoValida(Posicao) && PodeMover(Posicao)) { matriz[Posicao.Linha, Posicao.Coluna] = true; if (Tabuleiro.Peca(Posicao) != null && Tabuleiro.Peca(Posicao).Cor != Cor) { break; } Posicao.Linha = Posicao.Linha + 1; } // posição oeste Posicao.DefinirValores(Posicao.Linha - 1, Posicao.Coluna - 1); while (Tabuleiro.PosicaoValida(Posicao) && PodeMover(Posicao)) { matriz[Posicao.Linha, Posicao.Coluna] = true; if (Tabuleiro.Peca(Posicao) != null && Tabuleiro.Peca(Posicao).Cor != Cor) { break; } Posicao.Coluna = Posicao.Coluna - 1; } return(matriz); }