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(0).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(1).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); } }
static void Main(string[] args) { try { PartidaDeXadrez partida = new PartidaDeXadrez(); while (!partida.Terminada) { try { Console.Clear(); Tela.ImprimirPartida(partida); } 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) { Posicao P = new Posicao(3, 4); Tabuleiro tab = new Tabuleiro(8, 8); PartidaXadrez partida = new PartidaXadrez(); //loop principal do jogo while (!partida.terminada) { try { Console.Clear(); //titulo Tela.Titulo(); //imprimindo tabuleiro Tela.ImprimirPartida(partida); //entradas do jogador, movimenta a peça a partir da origem Console.Write("\tDigite a origem: "); Posicao origem = Tela.LerPosicaoXadrez().toPosicao(); partida.ValidarPosicaoOrigem(origem); bool[,] PosicoesPossiveis = partida.tab.peca(origem).Movimentospossiveis(); Console.Clear(); Tela.Titulo(); Tela.ImprimirTabuleiro(partida.tab, PosicoesPossiveis); Console.WriteLine(); //entradas do jogador, movimenta a peça para o destino Console.Write("\tDigite o destino: "); Posicao destino = Tela.LerPosicaoXadrez().toPosicao(); partida.ValidarPosicaoDestino(origem, destino); // se tudo acima estiver dentro das regras executa a função abaixo partida.RealizaJogadas(origem, destino); } catch (TabuleiroException e) { Console.WriteLine(e.Message); Console.Write("\tTecle enter para continuar... "); Console.ReadLine(); } catch (Exception e) { Console.WriteLine("\tErro inesperado: " + e.Message); Console.ReadLine(); } } Console.Clear(); Tela.Titulo(); Tela.ImprimirPartida(partida); Console.Write("\tTecle enter para encerrar o jogo..."); Console.ReadLine(); }
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 partidaDeXadrez = new PartidaDeXadrez(); while (!partidaDeXadrez.Teminada) { try { Console.Clear(); Tela.ImprimirPartida(partidaDeXadrez); Console.WriteLine(); Console.Write("Origem: "); Posicao origem = Tela.LerPosicaoXadrez().ToPosicao(); partidaDeXadrez.ValidarPosicaoDeOrigem(origem); bool[,] posicoesPossiveis = partidaDeXadrez.Tabuleiro.Peca(origem).MovimentosPossiveis(); Console.Clear(); Tela.ImprimirTabuleiro(partidaDeXadrez.Tabuleiro, posicoesPossiveis); Console.WriteLine(); Console.Write("Destino: "); Posicao destino = Tela.LerPosicaoXadrez().ToPosicao(); partidaDeXadrez.ValidarPosicaoDeDestino(origem, destino); partidaDeXadrez.RealizaJogada(origem, destino); } catch (TabuleiroException e) { Console.WriteLine(e.Message); Console.ReadLine(); } Console.Clear(); Tela.ImprimirPartida(partidaDeXadrez); } } catch (TabuleiroException e) { Console.WriteLine("Erro ao inserir peça: " + e.Message); } /*PosicaoXadrez pos = new PosicaoXadrez('c', 7); * Console.WriteLine(pos); * Console.WriteLine(pos.ToPosicao()); */ ; }
static void Main(string[] args) { try { //Tabuleiro tab = new Tabuleiro(8, 8); PartidaDeXadrez partida = new PartidaDeXadrez(); while (!partida.Terminada) { try { Console.Clear(); /*Tela.ImprimirTabuleiro(partida.Tab); * Console.WriteLine(); * Console.WriteLine("Turno: " + partida.Turno); * Console.WriteLine("Aguardando jogada: " + partida.JogadorAtual);*/ 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 (TabuleitoException e) { Console.WriteLine(e.Message); Console.ReadLine(); } } Console.Clear(); Tela.ImprimirPartida(partida); } catch (TabuleitoException e) { Console.WriteLine(e.Message); } }
static void Main(string[] args) { PartidaDeXadrez partida = new PartidaDeXadrez(); while (partida.terminada == false) // partida.terminada == false { try { Console.Clear(); Tela.ImprimirPartida(partida); 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.readlizaJogada(origem, destino); } catch (TabuleiroException e) { Console.WriteLine(e.Message); Console.ReadLine(); } } Console.Clear(); Tela.ImprimirPartida(partida); }
static void Main(string[] args) { try { PartidaDeXadrez partida = new PartidaDeXadrez(); while (!partida.terminada) { try { Console.Clear(); Tela.ImprimirPartida(partida); Console.WriteLine(); Console.WriteLine(); Console.WriteLine("Letra + Número"); Console.WriteLine(); Console.Write("Origem: "); Posicao origem = Tela.lerPosicaoXadrez().toPosicao(); partida.ValidarPossicaoDeOrigem(origem); //Array de 2 dimenções (2D) bool[,] posicoesPossiveis = partida.Tab.Peca(origem).MovimentosPossiveis(); Console.Clear(); Tela.ImprimirTabuleiro(partida.Tab, posicoesPossiveis); Console.WriteLine(); Console.WriteLine("Letra + Número"); 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.ReadLine(); PosicaoXadrez pos = new PosicaoXadrez('c', 7); //Retorno -> 1, 2 (linha e coluna) /*Seguindo a explicação na classe 'PosicaoXadres.cs' instanciei uma nova posição inserindo os valores 'c' e 7 (coluna e linha), O valor 7 (ref linha) é subtraido de 8 (8 porque a matriz tem uma contagem de 0 ao 7) log o valor da é o resultado 1, E 'c' (minusculo) na tabela ASCII tem o valor de 99, e estou fazendo uma subtração com a letra 'a' que tem valor 97 na tabela, logo o valor vai ser 2 */ Console.WriteLine(pos.toPosicao()); Console.ReadLine(); }
static void Main(string[] args) { PartidaDeXadrez partida = new PartidaDeXadrez(); while (!partida.terminada) { try { Tela.ImprimirPartida(partida); Console.Write("Digite a posição de origem: "); Posicao origem = Tela.lerPosicaoXadrez().toPosicao(); partida.validarPosicaoDeOrigem(origem); Peca peca = partida.tab.peca(origem); bool[,] posicoesPossiveis = peca.movimentosPossiveis(); Console.Clear(); Tela.ImprimirTabuleiro(partida.tab, posicoesPossiveis); Console.WriteLine($"\nPeça selecionada: {peca} ({new PosicaoXadrez(origem)})"); if (peca is Rei) { Rei rei = (Rei)peca; if (rei.roquePequenoDisponivel()) { Tela.Imprimir("Roque pequeno disponível!\n", ConsoleColor.Green); } if (rei.roqueGrandeDisponivel()) { Tela.Imprimir("Roque grande disponível!\n", ConsoleColor.Green); } } else if (peca is Peao) { Peao peao = (Peao)peca; if (peao.enPassantEsquerdaDisponivel()) { Tela.Imprimir("En passant à esquerda disponível!\n", ConsoleColor.Green); } if (peao.enPassantDireitaDisponivel()) { Tela.Imprimir("En passant à direita disponível!\n", ConsoleColor.Green); } } Console.Write("Digite a posição de destino: "); Posicao destino = Tela.lerPosicaoXadrez().toPosicao(); partida.validarPosicaoDeDestino(origem, destino); partida.realizarJogada(origem, destino); } catch (TabuleiroException e) { Console.Clear(); Tela.ImprimirTabuleiro(partida.tab); Tela.ImprimirErro(e); } catch (Exception) { Console.Clear(); Tela.ImprimirTabuleiro(partida.tab); Tela.ImprimirErro("Erro."); } } Tela.ImprimirVitoria(partida); Console.ReadKey(); }