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.ValidarPosicaoOrigem(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.ValidarPosicaoDestino(origem, destino); partida.RealizaJogada(origem, destino); } catch (FormatException f) { Console.WriteLine(f.Message); Console.ReadLine(); } catch (IndexOutOfRangeException i) { Console.WriteLine(i.Message); Console.ReadLine(); } 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 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); } }
static void Main(string[] args) { try { PartidaDeXadrez partida = new PartidaDeXadrez(); while (!partida.Terminada) { try { Console.Clear(); Tela.ImprimirPartida(partida); Console.Write("\nOrigem: "); Posicao origem = Tela.LerPosicaoXadrez().ToPosicao(); partida.ValidarPosicaoOrigem(origem); bool[,] posicoesPosiveis = partida._tab.Peca(origem).MovimentosPossiveis(); Console.Clear(); Tela.ImprimirTabuleiro(partida._tab, posicoesPosiveis); Console.Write("\nDestino: "); Posicao destino = Tela.LerPosicaoXadrez().ToPosicao(); partida.ValidarPosicaoDestino(origem, destino); partida.RealizaJogada(origem, destino); } catch (TabuleiroException e) { Console.WriteLine(e.Message); Console.ReadKey(); } } Console.Clear(); Tela.ImprimirPartida(partida); } catch (TabuleiroException e) { Console.WriteLine(e.Message); } catch (Exception e) { Console.WriteLine("Exceção inesperada {0}", e.Message); } }
public static void ImprimirPartida(PartidaDeXadrez partida) { ImprimirTabuleiro(partida.Tabuleiro); ImprimirPecasCapturadas(partida); Console.WriteLine(); Console.WriteLine("Turno: " + partida.Turno); if (!partida.Terminada) { Console.WriteLine("Aguardando jogada: " + partida.JogadorAtual); if (partida.Xeque) { Console.WriteLine("XEQUE!"); } Console.WriteLine(); Console.Write("Origem: "); Posicao origem = LerPosicaoXadrez().ToPosicao(); partida.ValidarPosicaoOrigem(origem); bool[,] posicoesPossiveis = partida.Tabuleiro.Peca(origem).MovimentosPossiveis(); Console.Clear(); ImprimirTabuleiro(partida.Tabuleiro, posicoesPossiveis); Console.WriteLine("Turno: " + partida.Turno); Console.WriteLine("Aguardando jogada: " + partida.JogadorAtual); Console.WriteLine(); Console.Write("Destino: "); Posicao destino = LerPosicaoXadrez().ToPosicao(); partida.ValidarPosicaoDestino(origem, destino); partida.RealizaJogada(origem, destino); } else { Console.WriteLine("XEQUEMATE!"); Console.WriteLine("Vencedor: " + partida.JogadorAtual); } }