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