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()); } }
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(); } }