public static void instanciarBispo(char coluna, int linha, Cor cor, PartidaDeXadrez partida, GameObject prefab) { Vector3 pos = posicaoNaCena(coluna, linha); GameObject bispo = Instantiate(prefab, pos, Quaternion.identity) as GameObject; Peca peca = new Bispo(partida.tab, cor, bispo); partida.colocarNovaPeca(coluna, linha, peca); bispo.GetComponent <ReferenciaPeca>().peca = peca; }
public Peca PromoverPeao(Movimento m, int tipoNovaPeca) { int indicePeao = 0; Peca peaoAtual = m.destino.PecaAtual; //tipoNovaPeca = FUNÇÂOQUEUSAINTERFACEPARADEFINIR (TODO) // acha a posicao do peao no array de peças do jogador foreach (Peca p in peaoAtual.jDono.conjuntoPecas) { if (p == peaoAtual) { break; } indicePeao++; } Peca novaPeca; //se 1, então vira rainha //se 2, então vira torre //se 3, então vira cavalo //senao, então vira Bispo if (tipoNovaPeca == 1) { novaPeca = new Rainha(peaoAtual.jDono); } else if (tipoNovaPeca == 2) { novaPeca = new Torre(peaoAtual.jDono); } else if (tipoNovaPeca == 3) { novaPeca = new Cavalo(peaoAtual.jDono); } else { novaPeca = new Bispo(peaoAtual.jDono); } //define a posição e salva a peça na casa e no jogador novaPeca.jDono.conjuntoPecas[indicePeao] = novaPeca; m.destino.ColocarPeca(novaPeca); novaPeca.CasaAtual = m.destino; novaPeca.UltimoTurnoMovido = this.UltimoTurnoMovido; return(novaPeca); }
static void Main(string[] args) { Tabuleiro tab = new Tabuleiro(8, 8); Bispo bp = new Bispo(tab, Cor.Preta); Torre t1p = new Torre(tab, Cor.Preta); Torre t2p = new Torre(tab, Cor.Preta); Rei rp = new Rei(tab, Cor.Preta); tab.colocarPeca(t1p, new Posicao(0, 0)); tab.colocarPeca(t2p, new Posicao(1, 3)); tab.colocarPeca(rp, new Posicao(2, 4)); Tela.imprimirTabuleiro(tab); Console.WriteLine(); }