public static void ImprimirPecasCaptudaras(MecanicaXadrez partida) { Console.WriteLine("Peças capturadas:"); Console.Write("Brancas: "); ImprimirConjunto(partida.PecasCapturadas(Cor.Branco)); Console.WriteLine(); Console.Write("Pretas: "); ConsoleColor aux = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.Red; ImprimirConjunto(partida.PecasCapturadas(Cor.Preto)); Console.ForegroundColor = aux; Console.WriteLine(); }
static void Main(string[] args) { try { MecanicaXadrez partida = new MecanicaXadrez(); while (!partida.Terminada) { try { Console.Clear(); Tela.ImprimirPartida(partida); Console.WriteLine(); Console.Write("Origem: "); Posicao origem = Tela.LerPosicaoXadrez().ToPosicao(); partida.ValidarPosicaoDeOrigem(origem); bool[,] posicoesPossiveis = partida.Tab.Peca(origem).MovimentosPossiveis(); Console.Clear(); Tela.ImprimirTabuleiro(partida.Tab, posicoesPossiveis); Console.WriteLine(); Console.Write("Destino: "); Posicao destino = Tela.LerPosicaoXadrez().ToPosicao(); partida.ValidarPosicaoDeDestino(origem, destino); partida.ExecutarJogada(origem, destino); } catch (TabuleiroException e) { Console.WriteLine(e.Message); Console.ReadLine(); } } Console.Clear(); Tela.ImprimirPartida(partida); } catch (TabuleiroException e) { Console.WriteLine(e.Message); } }
public static void ImprimirPartida(MecanicaXadrez partida) { ImprimirTabuleiro(partida.Tab); Console.WriteLine(); ImprimirPecasCaptudaras(partida); Console.WriteLine(); Console.WriteLine("Turno: " + partida.Turno); if (!partida.Terminada) { Console.WriteLine("Jogador Atual: " + partida.JogadorAtual); if (partida.Xeque) { Console.WriteLine("XEQUE!"); } } else { Console.WriteLine("XEQUEMATE!"); Console.WriteLine("Vencedor: " + partida.JogadorAtual); } }