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.validarPosicaoDeOrigem(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.validarPosicaoDeDestino(origem, destino); partida.realizaJogada(origem, destino); } catch (TabuleiroException e) { Console.WriteLine(e.Message); Console.ReadLine(); } } Console.Clear(); Tela.imprimirPartida(partida); } catch (TabuleiroException e) { Console.WriteLine(e.Message); } Console.WriteLine(); }
static void Main(string[] args) { try { PartidaDeXadrez partida = new PartidaDeXadrez(); while (!partida.terminada) { try { Console.Clear(); Tela.imprimirPartida(partida); Console.WriteLine(); Console.WriteLine(); Console.Write("Peça a mover: "); Posicao origem = Tela.lerPosicaoXadrez().toPosicao(); partida.validarPosicaoDeOrigem(origem); // mostrar posições possiveis para a peça escolhida para mover bool[,] posicoesPossiveis = partida.tab.peca(origem).movimentosPossiveis(); Console.Clear(); Tela.imprimirTabuleiro(partida.tab, posicoesPossiveis); Console.WriteLine(); Console.WriteLine(); Console.Write("Destino da Peça: "); Posicao destino = Tela.lerPosicaoXadrez().toPosicao(); partida.validarPosicaoDeDestino(origem, destino); partida.realizaJogada(origem, destino); } catch (TabuleiroException ex) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(ex.Message); Console.ReadLine(); Console.ResetColor(); } } } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.ReadLine(); }
static void Main(string[] args) { Console.SetWindowSize(55, 20); //Console.SetWindowSize(100, 50); try { PartidaDeXadrez partida = new PartidaDeXadrez(); while (!partida.terminada) { try { Console.Clear(); Tela.imprimirPartida(partida); Console.WriteLine(); Console.Write("Digite a posiçao de origem: "); Posicao origem = Tela.lerPosicaoXadrez().toPosicao(); partida.validarPosicaoDeOrigem(origem); //mostra uma tela com as movimentaçoes possiveis destacadas de cada peça bool[,] posicoesPossiveis = partida.tab.peca(origem).movimentosPossiveis(); // na classe tela foi criado outro metodo imprimir tabulero com as posicoesPossiveis como parametro. Console.Clear(); Tela.imprimirTabuleiro(partida.tab, posicoesPossiveis); Console.WriteLine(); Console.Write("Digite a posição destino: "); Posicao destino = Tela.lerPosicaoXadrez().toPosicao(); partida.validarPosicaoDeDestino(origem, destino); partida.realizaJogada(origem, destino); } catch (TabuleiroException e) { Console.WriteLine(e.Message); Console.ReadLine(); } } Console.Clear(); Tela.imprimirPartida(partida); } catch (TabuleiroException e) { Console.WriteLine(e.Message); } Console.ReadLine(); }
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.validarPosicaoDeOrigem(origem); bool[,] posicoesPossiveis = partida.tab.peca(origem).movimentosPossiveis(); //vai pegar a posiçao digitada na origem e armazenar na matiz posicoes.Posiveis Console.Clear(); Tela.imprimirTabuleiro(partida.tab, posicoesPossiveis); //vai mostrar as posições possíveis para movimento das peças Console.WriteLine(); Console.Write("Destino: "); Posicao destino = Tela.lerPosicaoXadrez().toPosicao(); partida.validarPosicaoDeDestino(origem, destino);//validarPosicaoDeDestino é método da classe PartidaDeXadrez partida.realizaJogada(origem, destino); } catch (TabuleiroException e) { Console.WriteLine(e.Message); Console.ReadLine(); } } Console.Clear(); Tela.imprimirPartida(partida); } catch (TabuleiroException e) { Console.WriteLine(e.Message); } Console.ReadLine(); }
static void Main(string[] args) { try { PartidaDeXadrez partida = new PartidaDeXadrez(); Tela.imprimirTabuleiro(partida.tab); while (!partida.terminada) // Enquanto a partida não estiver terminada { try { Console.Clear(); // Limpa a tela Tela.imprimirPartida(partida); Console.WriteLine(); Console.Write("Origem: "); Posicao origem = Tela.lerPosicaoXadrez().toPosicao(); // Lê a posição e transforma ela na posição de matriz do sistema partida.validarPosicaoDeOrigem(origem); bool[,] posicoesPossiveis = partida.tab.peca(origem).movimentoPossiveis(); Console.Clear(); Tela.imprimirTabuleiro(partida.tab, posicoesPossiveis); Console.WriteLine(); Console.Write("Destino: "); Posicao destino = Tela.lerPosicaoXadrez().toPosicao(); partida.validarPosicaoDeDestino(origem, destino); partida.realizaJogada(origem, destino); } catch (TabuleiroException h) { Console.WriteLine(h.Message); Console.WriteLine(); } } 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 == false) { try { Console.Clear(); Tela.imprimirPartida(partida); Console.WriteLine(); Console.Write("ORIGEM: "); Posicao origem = Tela.lerPosicaoXadrez().toPosicao(); partida.validarPosicaoDeOrigem(origem); //mostrar o tabuleiro marcado com os possiveis movimentos da peça bool[,] possiveisMovimentosMarcados = partida.tab.peca(origem).movimentosPossiveis(); Console.Clear(); Tela.imprimirTabuleiro(partida.tab, possiveisMovimentosMarcados); Console.WriteLine(); Console.Write("DESTINO: "); Posicao destino = Tela.lerPosicaoXadrez().toPosicao(); partida.validarposicaoDeDestino(origem, destino); partida.realizaJogada(origem, destino); }catch (TabuleiroException e) { Console.WriteLine(e.Message); Console.ReadLine(); } } Console.Clear(); Tela.imprimirPartida(partida); } 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.imprimirPartida(Partida); Console.Write("Digite a posição de origem :"); Posicao PosOrigem = Tela.LerPosicaoXadrez().ToPosicao(); Partida.ValidaPosicaodeOrigem(PosOrigem); bool[,] posicoesPossiveis = Partida.tab.Peca(PosOrigem).MovimentosPossiveis(); Console.Clear(); Tela.imprimirTabuleiro(Partida.tab, posicoesPossiveis); Console.Write("Digite a posição de destino :"); Posicao PosDestino = Tela.LerPosicaoXadrez().ToPosicao(); Partida.ValidaPosicaodeDestino(PosOrigem, PosDestino); Partida.realizaJogada(PosOrigem, PosDestino); } catch (TabuleiroException e) { Console.WriteLine(e.Message); Console.ReadLine(); } } } catch (TabuleiroException e) { Console.WriteLine(e.Message); } Console.ReadLine(); }
static void Main(string[] args) { try { PartidaDeXadrez partida = new PartidaDeXadrez(); // Enquanto a partida não for terminada while (!partida.terminada) { try { // Limpar o terminal Console.Clear(); // Imprime tabuleiro Tela.imprimirPartida(partida); Console.WriteLine(); // Pegar a posição, e transformar ela pra posição de matriz Console.Write("Origem: "); Posicao origem = Tela.lerPosicaoXadrez().paraPosicao(); // Validando origem partida.validarPosicaoDeOrigem(origem); // Guardando na matriz os movimentos possíveis da peça bool[,] posicoesPossiveis = partida.tab.peca(origem).movimentosPossiveis(); // Limpar o terminal Console.Clear(); // Imprime tabuleiro, com os movimentos possíveis para peça Tela.imprimirTabuleiro(partida.tab, posicoesPossiveis); Console.WriteLine(); Console.Write("Destino: "); Posicao destino = Tela.lerPosicaoXadrez().paraPosicao(); // Validando destino partida.validarPosicaoDeDestino(origem, destino); // E realiza a jogada partida.realizaJogada(origem, destino); } catch (TabuleiroException e) { Console.WriteLine(); Console.WriteLine(e.Message); // Esperar o jogador apertar enter para repetir a jogada Console.ReadLine(); } } Console.Clear(); Tela.imprimirPartida(partida); } catch (TabuleiroException e) { Console.WriteLine(e.Message); } Console.ReadLine(); }
static void Main(string[] args) { var cores = Enum.GetValues(typeof(Cor)).Cast <Cor>(); int menu = 100; Cor jogador1; Cor jogador2; Console.WriteLine("--- Seja bem vindo ao XADREZ ONLINE ---"); Console.WriteLine(); Console.WriteLine(); Console.WriteLine("-------------------------------------------------"); Console.WriteLine("| Iniciar partida |"); Console.WriteLine("-------------------------------------------------"); Console.WriteLine("-------------------------------------------------"); Console.WriteLine("| Sair |"); Console.WriteLine("-------------------------------------------------"); Console.WriteLine("-------------------------------------------------"); Console.WriteLine("| Digite 0 para sair e 1 para iniciar a partida |"); Console.WriteLine("-------------------------------------------------"); Console.Write("> "); menu = int.Parse(Console.ReadLine()); while (menu != 0) { try { Console.WriteLine(); if (menu == 1) { Console.WriteLine("Selecione uma das cores abaixo:"); Console.WriteLine(); foreach (Cor c in cores) { Console.WriteLine("------------------------"); Console.WriteLine($"| Cor: {c}"); Console.WriteLine("------------------------"); } Console.WriteLine(); Console.Write("Digite a cor para o primeiro jogador: "); jogador1 = Enum.Parse <Cor>(Console.ReadLine()); foreach (Cor c in cores) { if (c != jogador1) { Console.WriteLine("------------------------"); Console.WriteLine($"| Cor: {c}"); Console.WriteLine("------------------------"); } } Console.WriteLine(); Console.Write("Digite a cor para o segundo jogador: "); jogador2 = Enum.Parse <Cor>(Console.ReadLine()); try { PartidaDeXadrez partida = new PartidaDeXadrez(jogador1, jogador2); while (!partida.terminada) { try { Console.Clear(); Tela.imprimirPartida(partida, jogador1, jogador2); Console.WriteLine(); Console.Write("Origem: "); Posicao origem = Tela.lerPosicaoXadrez().toPosicao(); partida.validarPosicaoDeOrigem(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.validarPosicaoDeDestino(origem, destino); partida.realizaJogada(origem, destino); } catch (TabuleiroException e) { Console.WriteLine(e.Message); Console.ReadLine(); } catch (Exception e) { Console.WriteLine("Erro inexperado: " + e.Message); Console.WriteLine("Pressione enter para continuar..."); Console.ReadLine(); } } Console.Clear(); Tela.imprimirPartida(partida, jogador1, jogador2); } catch (TabuleiroException e) { Console.WriteLine(e.Message); } } } catch (Exception e) { Console.WriteLine("Erro inexperado: " + e.Message); } Console.ReadLine(); } }