コード例 #1
0
        public static void ImprimirJogadaParte1(PartidaDeXadrez partidaDeXadrez)
        {
            ConsoleColor padrao = Console.ForegroundColor;

            Console.WriteLine("\n  Peças Capturadas:");
            Console.ForegroundColor = ConsoleColor.DarkBlue;
            Console.Write("  Azuis: ");
            ImprimirPecasCapturadas(partidaDeXadrez.PecasCapturadas(Cor.Azul));
            Console.ForegroundColor = ConsoleColor.DarkRed;
            Console.Write("  Vermelhas: ");
            ImprimirPecasCapturadas(partidaDeXadrez.PecasCapturadas(Cor.Vermelho));
            Console.ForegroundColor = padrao;
            Console.WriteLine("\n  Turno: " + partidaDeXadrez.Turno + "º");
            if (!partidaDeXadrez.Terminada)
            {
                Console.WriteLine("  Aguardando Jogada: " + partidaDeXadrez.JogadorAtual);
                if (partidaDeXadrez.EstaEmXeque())
                {
                    Console.WriteLine("\n  O JOGADOR ATUAL ESTÁ EM XEQUE!");
                }
                Console.Write("\n  Origem: ");
            }
            else
            {
                Console.WriteLine("\n  XEQUE-MATE!");
                Console.Write("  Vencedor: Jogador " + partidaDeXadrez.JogadorAdversario());
            }
        }
コード例 #2
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();
     }
 }