Exemple #1
0
        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().toPosicao();
                        Partida.ValidarOrigem(Origem);

                        bool[,] PosicoesPossiveis = Partida.Tab.Peca(Origem).MovimentosPossiveis();
                        Console.Clear();
                        Tela.ImprimirTabuleiro(Partida.Tab, PosicoesPossiveis);
                        Console.WriteLine();
                        Console.WriteLine("Turno: " + Partida.Turno);
                        Console.WriteLine("Aguardando jogada: " + Partida.JogadorAtual);
                        Console.WriteLine();
                        Console.Write("Destino: ");
                        Posicao Destino = Tela.LerPosicaoXadrez().toPosicao();
                        Partida.ValidarDestino(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);
            }
        }
        static void Main(string[] args)
        {
            try
            {
                PartidaDeXadrez partidaDeXadrez = new PartidaDeXadrez();
                while (!partidaDeXadrez.Terminada)
                {
                    try
                    {
                        Tela.ImprimirTabuleiro(partidaDeXadrez.Tabuleiro);

                        //ORIGEM
                        Tela.ImprimirJogadaParte1(partidaDeXadrez);
                        PosicaoXadrez posicaoXadrez = Tela.LerPosicaoXadrez();
                        Posicao       origem        = posicaoXadrez.ToPosicao();
                        partidaDeXadrez.ValidarOrigem(origem);
                        bool[,] movimentos = partidaDeXadrez.Tabuleiro.ObterPeca(origem).MovimentosPossiveis();
                        Tela.ImprimirTabuleiro(partidaDeXadrez.Tabuleiro, movimentos, origem);

                        //DESTINO
                        Tela.ImprimirJogadaParte1(partidaDeXadrez);
                        Tela.ImprimirJogadaParte2(posicaoXadrez);
                        Posicao destino = Tela.LerPosicaoXadrez().ToPosicao();
                        partidaDeXadrez.ValidarDestino(origem, destino);
                        partidaDeXadrez.NovaJogada(origem, destino);
                    }
                    catch (TabuleiroException erro)
                    {
                        Console.Write("\n  " + erro.Message);
                        Console.ReadKey();
                    }
                }
                Tela.ImprimirTabuleiro(partidaDeXadrez.Tabuleiro);
                Tela.ImprimirJogadaParte1(partidaDeXadrez);
            }
            catch (TabuleiroException erro)
            {
                Console.WriteLine(erro.Message);
            }
            Console.ReadKey();
        }
Exemple #3
0
 private void DgvXadrez_CellClick(object sender, DataGridViewCellEventArgs e)
 {
     try
     {
         int     linha   = dgvXadrez.SelectedCells[0].RowIndex;
         int     coluna  = dgvXadrez.SelectedCells[0].ColumnIndex;
         Posicao posicao = new Posicao(dgvXadrez.SelectedCells[0].RowIndex, dgvXadrez.SelectedCells[0].ColumnIndex);
         if (Origem == null)
         {
             PartidaDeXadrez.ValidarOrigem(posicao);
             Origem = posicao;
             AjustarOrigem(linha, coluna);
         }
         else
         {
             Posicao origem = Origem;
             Origem = null;
             PartidaDeXadrez.ValidarDestino(origem, posicao);
             PartidaDeXadrez.NovaJogada(origem, posicao);
             TestarPromocao(PartidaDeXadrez.Tabuleiro.ObterPeca(posicao));
             AtualizarDataGrid();
             TesteXeque();
         }
     }
     catch (TabuleiroException erro)
     {
         MessageBox.Show(erro.Message);
         AtualizarDataGrid();
     }
     catch (ArgumentOutOfRangeException)
     {
         MessageBox.Show("A POSIÇÃO INFORMADA É INVÁLIDA!");
         AtualizarDataGrid();
     }
     catch (XequeMateException)
     {
         MessageBox.Show("É XEQUE-MATE!\nVENCEDOR: " + PartidaDeXadrez.JogadorAdversario());
         Close();
     }
 }
        static void Main(string[] args)
        {
            PartidaDeXadrez partida = new PartidaDeXadrez();

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

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

                    bool[,] posicoesPossives = partida.Tabuleiro.Peca(origem).MovimentosPossiveis();

                    Console.Clear();
                    Tela.ImprimirTabuleiro(partida.Tabuleiro, posicoesPossives);

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

                    partida.RealizaJogada(origem, destino);
                }
                catch (TabuleiroException e)
                {
                    Console.WriteLine(e.Message);
                    Console.ReadLine();
                }
            }
            Console.Clear();
            Tela.ImprimirPartida(partida);
            Console.ReadLine();
        }