public static PosicaoXadrez lerPosicaoXadrez(PartidaDeXadrez partida, bool[,] posicoesPossiveis, Posicao origem) { while (true) { try { string entrada = Console.ReadLine(); entrada = entrada.Trim(); entrada = entrada.TrimStart(); entrada = entrada.TrimEnd(); char coluna = ' '; int linha = 100; ValidarFormato(entrada); coluna = entrada[0]; linha = int.Parse(entrada[1] + ""); if (partida.validarPosicaoDestino(origem, new PosicaoXadrez(coluna, linha).ToPosicao())) { return(new PosicaoXadrez(coluna, linha)); } } catch (Exception erro) { Console.Write(erro.Message); System.Threading.Thread.Sleep(TimeSpan.FromSeconds(3)); Console.Clear(); TipoPosicao = "Destino"; imprimirTabuleiro(partida.tab, posicoesPossiveis, partida); } } }
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.imprimirTabulerio(partida.Tab, posicoesPossiveis); Console.WriteLine(); Console.Write("Destido: "); Posicao destino = Tela.lerPosicaoXadrez().toPosicao(); partida.validarPosicaoDestino(origem, destino); partida.realizaJogada(origem, destino); } catch (TabuleiroException e) { Console.WriteLine(e.Message); Console.ReadLine(); } catch (Exception e) { Console.WriteLine(e.Message); Console.ReadLine(); } } Console.Clear(); Tela.imprimirPartida(partida); } catch (TabuleiroException e) { Console.WriteLine(e.Message); } catch (Exception e) { Console.WriteLine(e.Message); } }
static void Main(string[] args) { #region Boas Vindas Console.WriteLine($"Olá {System.Environment.GetEnvironmentVariable("Username", EnvironmentVariableTarget.Process)}!"); System.Threading.Thread.Sleep(TimeSpan.FromSeconds(2)); Console.Clear(); Console.WriteLine("Bom jogo!"); System.Threading.Thread.Sleep(TimeSpan.FromSeconds(4)); #endregion try { PartidaDeXadrez partida = new PartidaDeXadrez(); while (!partida.terminada) { try{ Console.Clear(); Tela.imprimirPartida(partida); Posicao origem = Tela.lerPosicaoXadrez(partida).ToPosicao(); partida.validarPosicaoDeOrigem(origem); partida.mudaTipoPosicao(); bool[,] posicoesPossiveis = partida.tab.peca(origem).movimentosPossiveis(); Console.Clear(); Tela.imprimirTabuleiro(partida.tab, posicoesPossiveis, partida); Posicao destino = Tela.lerPosicaoXadrez(partida, posicoesPossiveis, origem).ToPosicao(); partida.validarPosicaoDestino(origem, destino); partida.mudaTipoPosicao(); partida.realizaJogada(origem, destino); } catch (TabuleiroException e) { Console.WriteLine(e.Message); Console.ReadKey(); } } Console.Clear(); Tela.imprimirPartida(partida); Console.ReadKey(true); } catch (TabuleiroException e) { Console.WriteLine(e.Message); } Console.ReadKey(); }
static void Main(string[] args) { try { PartidaDeXadrez partida = new PartidaDeXadrez(); while (!partida.terminada) { try { Console.Clear(); Tela.imprimirTabuleiro(partida.tabu); Console.WriteLine(); Console.WriteLine("Turno: " + partida.turno); Console.WriteLine("Aguardando jogada: " + partida.jogadorAtual); Console.Write("Origem: "); Posicao origem = Tela.lerPosicaoXadrez().toPosicao(); partida.validarPosicaoOrigem(origem); //Imprime tabuleiro com a posição marcada bool[,] posicoesPossiveis = partida.tabu.peca(origem).movimentosPossiveis(); Console.Clear(); Tela.imprimirTabuleiro(partida.tabu, posicoesPossiveis); Console.WriteLine(); Console.Write("Destino: "); Posicao destino = Tela.lerPosicaoXadrez().toPosicao(); partida.validarPosicaoDestino(origem, destino); partida.realizaJogada(origem, destino); } catch (TabuleiroException msg) { Console.WriteLine(msg.Message); Console.ReadLine(); } } } catch (TabuleiroException e) { Console.WriteLine(e.Message); } Console.ReadLine(); }