Esempio n. 1
0
        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);
            }
        }