public static void imprimirPartida(PartidadeDeXadrez partida) { imprimirTabuleiro(partida.tab); Console.WriteLine(); imprimirPecasCapturadas(partida); Console.WriteLine(); Console.WriteLine($"Turno {partida.turno}"); if (!partida.terminada) { if (partida.xeque) { Console.WriteLine("XEQUE!"); } } else { Console.WriteLine("XEQUEMATE!"); Console.WriteLine($"Vencedor: {partida.jogadorAtual}"); } Console.WriteLine($"Aguardando jogada: {partida.jogadorAtual}"); if (partida.xeque) { Console.WriteLine("XEQUE!"); } }
public static void imprimirPecasCapturadas(PartidadeDeXadrez partida) { Console.WriteLine("Peças Capturadas: "); Console.Write("Brancas: "); imprimirConjunto(partida.pecasCapturadas(Cor.Branca)); Console.WriteLine(); Console.Write("Pretas: "); ConsoleColor aux = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.Yellow; imprimirConjunto(partida.pecasCapturadas(Cor.Preta)); Console.ForegroundColor = aux; Console.WriteLine(); }
static void Main(string[] args) { try { PartidadeDeXadrez partida = new PartidadeDeXadrez(); while (!partida.terminada) { try { Console.Clear(); Tela.imprimirPartida(partida); Console.WriteLine(); Console.Write("Origem: "); Posicao origem = Tela.lerPosicaoXadrez().toPosicao(); partida.validarPosicaoDeOrigem(origem); bool[,] poscoesPossiveis = partida.tab.peca(origem).movimentosPossiveis(); Console.Clear(); Tela.imprimirTabuleiro(partida.tab, poscoesPossiveis); Console.WriteLine(); Console.Write("Destino: "); Posicao destino = Tela.lerPosicaoXadrez().toPosicao(); partida.validarPosicaoDeDestino(origem, destino); partida.realizaJogada(origem, destino); }catch (TabuleiroException e) { Console.WriteLine(e.Message); Console.ReadLine(); } } Console.Clear(); Tela.imprimirTabuleiro(partida.tab); }catch (TabuleiroException e) { Console.WriteLine(e.Message); } Console.ReadLine(); }