static void Main(string[] args)
 {
     try {
         PartidaDeXadrez partida = new PartidaDeXadrez();
         while (!partida.Terminada)
         {
             try {
                 Console.Clear();
                 Tela.ImprimirPartida(partida);
                 Console.WriteLine();
                 Console.Write("Origem: ");
                 Posicao origem = Tela.LerPosicaoXadrez(0).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(1).ToPosicao();
                 partida.ValidarPosicaoDeDestino(origem, destino);
                 partida.RealizaJogada(origem, destino);
             }
             catch (TabuleiroException e) {
                 Console.WriteLine(e.Message);
                 Console.ReadLine();
             }
         }
         Console.Clear();
         Tela.ImprimirPartida(partida);
     }
     catch (TabuleiroException e) {
         Console.WriteLine(e);
     }
 }
Example #2
0
 static void Main(string[] args)
 {
     try
     {
         PartidaDeXadrez partida = new PartidaDeXadrez();
         while (!partida.Terminada)
         {
             try
             {
                 Console.Clear();
                 Tela.ImprimirPartida(partida);
             }
             catch (TabuleiroException e)
             {
                 Console.WriteLine(e.Message);
                 Console.ReadLine();
             }
         }
         Console.Clear();
         Tela.ImprimirPartida(partida);
     }
     catch (TabuleiroException e)
     {
         Console.WriteLine(e.Message);
         Console.ReadLine();
     }
 }
Example #3
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();
        }
Example #4
0
        static void Main(string[] args)
        {
            try
            {
                PartidaDeXadrez partida = new PartidaDeXadrez();

                while (!partida.Terminada)
                {
                    try
                    {
                        Console.Clear();
                        Console.WriteLine();
                        Console.WriteLine("  JOGO DE XADREZ");
                        Tela.ImprimirPartida(partida);

                        Console.Write("Origem: ");
                        Posicao origem = Tela.LerPosicaoXadrez().ToPosicao();
                        partida.ValidarPosicaoOrigem(origem);

                        bool[,] posicoesPossiveis = partida.Tab.Peca(origem).movimentosPossiveis();

                        Console.Clear();

                        Console.WriteLine("  JOGO DE XADREZ");
                        Tela.ImprimirTabuleiro(partida.Tab, posicoesPossiveis);

                        Console.WriteLine();
                        Console.Write("Destino: ");
                        Posicao destino = Tela.LerPosicaoXadrez().ToPosicao();
                        partida.ValidarPosicaoDestino(origem, destino);

                        partida.Realizajogada(origem, destino);
                    }
                    catch (TabuleiroException e)
                    {
                        Console.WriteLine(e.Message);
                        Console.WriteLine("Aperte uma tecla para realizar nova jogada!");
                        Console.ReadLine();
                    }
                }
                Console.Clear();
                Console.WriteLine();
                Console.WriteLine("   XEQUEMATE! ");
                Tela.ImprimirPartida(partida);
            }
            catch (TabuleiroException e)
            {
                Console.WriteLine(e.Message);
            }
        }
Example #5
0
        static void Main(string[] args)
        {
            try
            {
                PartidaDeXadrez partidaDeXadrez = new PartidaDeXadrez();

                while (!partidaDeXadrez.Teminada)
                {
                    try
                    {
                        Console.Clear();
                        Tela.ImprimirPartida(partidaDeXadrez);

                        Console.WriteLine();
                        Console.Write("Origem: ");
                        Posicao origem = Tela.LerPosicaoXadrez().ToPosicao();
                        partidaDeXadrez.ValidarPosicaoDeOrigem(origem);

                        bool[,] posicoesPossiveis = partidaDeXadrez.Tabuleiro.Peca(origem).MovimentosPossiveis();

                        Console.Clear();
                        Tela.ImprimirTabuleiro(partidaDeXadrez.Tabuleiro, posicoesPossiveis);
                        Console.WriteLine();
                        Console.Write("Destino: ");
                        Posicao destino = Tela.LerPosicaoXadrez().ToPosicao();
                        partidaDeXadrez.ValidarPosicaoDeDestino(origem, destino);

                        partidaDeXadrez.RealizaJogada(origem, destino);
                    }
                    catch (TabuleiroException e)
                    {
                        Console.WriteLine(e.Message);
                        Console.ReadLine();
                    }
                    Console.Clear();
                    Tela.ImprimirPartida(partidaDeXadrez);
                }
            }
            catch (TabuleiroException e)
            {
                Console.WriteLine("Erro ao inserir peça: " + e.Message);
            }

            /*PosicaoXadrez pos = new PosicaoXadrez('c', 7);
             * Console.WriteLine(pos);
             * Console.WriteLine(pos.ToPosicao()); */
            ;
        }
Example #6
0
        static void Main(string[] args)
        {
            try {
                //Tabuleiro tab = new Tabuleiro(8, 8);

                PartidaDeXadrez partida = new PartidaDeXadrez();

                while (!partida.Terminada)
                {
                    try {
                        Console.Clear();

                        /*Tela.ImprimirTabuleiro(partida.Tab);
                         * Console.WriteLine();
                         * Console.WriteLine("Turno: " + partida.Turno);
                         * Console.WriteLine("Aguardando jogada: " + partida.JogadorAtual);*/
                        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.RealizaJogada(origem, destino);
                    }
                    catch (TabuleitoException e) {
                        Console.WriteLine(e.Message);
                        Console.ReadLine();
                    }
                }
                Console.Clear();
                Tela.ImprimirPartida(partida);
            }
            catch (TabuleitoException e) {
                Console.WriteLine(e.Message);
            }
        }
Example #7
0
        static void Main(string[] args)
        {
            PartidaDeXadrez partida = new PartidaDeXadrez();

            while (partida.terminada == false)              // partida.terminada == false
            {
                try
                {
                    Console.Clear();
                    Tela.ImprimirPartida(partida);

                    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.readlizaJogada(origem, destino);
                }
                catch (TabuleiroException e)
                {
                    Console.WriteLine(e.Message);
                    Console.ReadLine();
                }
            }
            Console.Clear();
            Tela.ImprimirPartida(partida);
        }
Example #8
0
        static void Main(string[] args)
        {
            try
            {
                PartidaDeXadrez partida = new PartidaDeXadrez();

                while (!partida.terminada)
                {
                    try
                    {
                        Console.Clear();
                        Tela.ImprimirPartida(partida);
                        Console.WriteLine();

                        Console.WriteLine();
                        Console.WriteLine("Letra + Número");

                        Console.WriteLine();
                        Console.Write("Origem: ");
                        Posicao origem = Tela.lerPosicaoXadrez().toPosicao();

                        partida.ValidarPossicaoDeOrigem(origem);

                        //Array de 2 dimenções (2D)
                        bool[,] posicoesPossiveis = partida.Tab.Peca(origem).MovimentosPossiveis();

                        Console.Clear();
                        Tela.ImprimirTabuleiro(partida.Tab, posicoesPossiveis);

                        Console.WriteLine();
                        Console.WriteLine("Letra + Número");

                        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.ImprimirPartida(partida);
            }
            catch (TabuleiroException e)
            {
                Console.WriteLine(e.Message);
            }

            Console.ReadLine();

            PosicaoXadrez pos = new PosicaoXadrez('c', 7); //Retorno -> 1, 2 (linha e coluna)

            /*Seguindo a explicação na classe 'PosicaoXadres.cs' instanciei uma nova posição inserindo os valores 'c' e 7 (coluna e linha), O valor 7 (ref linha) é subtraido de 8 (8 porque a matriz tem uma contagem de 0 ao 7) log o valor da é o resultado 1, E 'c' (minusculo) na tabela ASCII tem o valor de 99, e estou fazendo uma subtração com a letra 'a' que tem valor 97 na tabela, logo o valor vai ser 2 */

            Console.WriteLine(pos.toPosicao());

            Console.ReadLine();
        }
Example #9
0
        static void Main(string[] args)
        {
            PartidaDeXadrez partida = new PartidaDeXadrez();

            while (!partida.terminada)
            {
                try
                {
                    Tela.ImprimirPartida(partida);

                    Console.Write("Digite a posição de origem: ");
                    Posicao origem = Tela.lerPosicaoXadrez().toPosicao();
                    partida.validarPosicaoDeOrigem(origem);

                    Peca peca = partida.tab.peca(origem);
                    bool[,] posicoesPossiveis = peca.movimentosPossiveis();

                    Console.Clear();
                    Tela.ImprimirTabuleiro(partida.tab, posicoesPossiveis);
                    Console.WriteLine($"\nPeça selecionada: {peca} ({new PosicaoXadrez(origem)})");

                    if (peca is Rei)
                    {
                        Rei rei = (Rei)peca;
                        if (rei.roquePequenoDisponivel())
                        {
                            Tela.Imprimir("Roque pequeno disponível!\n", ConsoleColor.Green);
                        }
                        if (rei.roqueGrandeDisponivel())
                        {
                            Tela.Imprimir("Roque grande disponível!\n", ConsoleColor.Green);
                        }
                    }
                    else if (peca is Peao)
                    {
                        Peao peao = (Peao)peca;
                        if (peao.enPassantEsquerdaDisponivel())
                        {
                            Tela.Imprimir("En passant à esquerda disponível!\n", ConsoleColor.Green);
                        }
                        if (peao.enPassantDireitaDisponivel())
                        {
                            Tela.Imprimir("En passant à direita disponível!\n", ConsoleColor.Green);
                        }
                    }

                    Console.Write("Digite a posição de destino: ");
                    Posicao destino = Tela.lerPosicaoXadrez().toPosicao();
                    partida.validarPosicaoDeDestino(origem, destino);

                    partida.realizarJogada(origem, destino);
                }
                catch (TabuleiroException e)
                {
                    Console.Clear();
                    Tela.ImprimirTabuleiro(partida.tab);
                    Tela.ImprimirErro(e);
                }
                catch (Exception)
                {
                    Console.Clear();
                    Tela.ImprimirTabuleiro(partida.tab);
                    Tela.ImprimirErro("Erro.");
                }
            }

            Tela.ImprimirVitoria(partida);
            Console.ReadKey();
        }