Exemplo n.º 1
0
        static void Main(string[] args)
        {
            Posicao       P       = new Posicao(3, 4);
            Tabuleiro     tab     = new Tabuleiro(8, 8);
            PartidaXadrez partida = new PartidaXadrez();

            //loop principal do jogo
            while (!partida.terminada)
            {
                try
                {
                    Console.Clear();

                    //titulo
                    Tela.Titulo();

                    //imprimindo tabuleiro
                    Tela.ImprimirPartida(partida);

                    //entradas do jogador, movimenta a peça a partir da origem
                    Console.Write("\tDigite a origem: ");
                    Posicao origem = Tela.LerPosicaoXadrez().toPosicao();
                    partida.ValidarPosicaoOrigem(origem);

                    bool[,] PosicoesPossiveis = partida.tab.peca(origem).Movimentospossiveis();

                    Console.Clear();
                    Tela.Titulo();
                    Tela.ImprimirTabuleiro(partida.tab, PosicoesPossiveis);
                    Console.WriteLine();

                    //entradas do jogador, movimenta a peça para o destino
                    Console.Write("\tDigite o destino: ");
                    Posicao destino = Tela.LerPosicaoXadrez().toPosicao();
                    partida.ValidarPosicaoDestino(origem, destino);

                    // se tudo acima estiver dentro das regras executa a função abaixo
                    partida.RealizaJogadas(origem, destino);
                }

                catch (TabuleiroException e)
                {
                    Console.WriteLine(e.Message);
                    Console.Write("\tTecle enter para continuar... ");
                    Console.ReadLine();
                }
                catch (Exception e)
                {
                    Console.WriteLine("\tErro inesperado: " + e.Message);
                    Console.ReadLine();
                }
            }
            Console.Clear();
            Tela.Titulo();
            Tela.ImprimirPartida(partida);
            Console.Write("\tTecle enter para encerrar o jogo...");
            Console.ReadLine();
        }