public static void ImprimirPartida(PartidaDeXadrez partida) { ImprimirTabuleiro(partida.Tabuleiro); Console.WriteLine(); ImprimirPecasCapturadas(partida); Console.WriteLine(); Console.WriteLine("Turno: " + partida.Turno); if (!partida.Terminada) { Console.WriteLine("Aguardando jogada: " + partida.JogadorAtual); if (partida.Xeque) { Console.WriteLine("XEQUE!"); } Console.WriteLine(""); Console.Write("Origem: "); Posicao origem = Tela.LerPosicaoXadrez(partida).ToPosicao(); partida.ValidarPosicaodeOrigem(origem); bool[,] posicoesPossiveis = partida.Tabuleiro.Peca(origem).MovimentosPosiveis(); Console.Clear(); Tela.ImprimirTabuleiro(partida.Tabuleiro, posicoesPossiveis); Console.WriteLine(); Console.Write("Destino: "); Posicao destino = Tela.LerPosicaoXadrez(partida).ToPosicao(); partida.ValidarPosicaodeDestino(origem, destino); partida.RealizaJogada(origem, destino); } else { Console.WriteLine("XEQUEMATE!"); Console.WriteLine("Vencedor: " + partida.JogadorAtual); } }