private static void PosXadrez() { PosicaoXadrez pos = new PosicaoXadrez('h', 8); Console.WriteLine(pos.ConvertPosicao()); }
static void Main(string[] args) { // Instanciando uma nova partida de Xadrez PartidaDeXadrez p = new PartidaDeXadrez(); // Laço que vai se repetir até que a partida seja finalizada while (!p.Terminada) { // Sempre que as instruções do bloco while chegarem ao fim, o console será limpado. Console.Clear(); // "imprimirTabuleiro" é um método estático da classe Tela, por isso não está sendo instanciado. Ele imprime o tabuleiro na tela do console. Tela.imprimirTabuleiro(p.tab); Console.WriteLine(); //Aqui estamos mostrando as peças capturadas. Este campo é atualizado a cada movimento de peça. Console.Write("Peças capturadas(Brancas): "); // Usamos o foreach para percorrer toda coleção "capturadas" da cor Branca e exibe no console. foreach (Peca x in p.capturadas(Cor.Branca)) { Console.WriteLine(x + " "); } Console.WriteLine(); Console.WriteLine(); Console.Write("Peças capturadas(Pretas): "); foreach (Peca x in p.capturadas(Cor.Preta)) { Console.Write(x + " "); } Console.WriteLine(); Console.WriteLine(); // Estamos lendo uma posição de Xadrez(caracter + inteiro) e transformando para posição da matriz de peças. Console.Write("Origem: "); Posicao origem = PosicaoXadrez.lerPosicaoXadrez().toPosicao(); Console.WriteLine(); // Estamos lendo uma posição de Xadrez(caracter + inteiro) e transformando para posição da matriz de peças. Console.Write("Destino: "); Posicao destino = PosicaoXadrez.lerPosicaoXadrez().toPosicao(); // O método "executaMovimento" pega a peça que o usuário digitou em "Origem" e coloca em "Destino". Caso haja alguma peça no destino, ela é adicionada no conjunto de "pecasCapturadas" try { p.executaMovimento(origem, destino); } catch (TabuleiroException e) { Console.WriteLine(e.Message); Thread.Sleep(1500); } } }
static void Main(string[] args) { PosicaoXadrez pos = new PosicaoXadrez('a', 1); Console.WriteLine(pos); Console.WriteLine(pos.ToPosicao()); try { PartidadeXadrez partidadeXadrez = new PartidadeXadrez(); Tela.ImprimirTabuleiro(partidadeXadrez.Tab); Console.WriteLine("\nTurno: " + partidadeXadrez.Turno); Console.WriteLine("Aguardando Jogada: " + partidadeXadrez.JogadorAtual); while (!partidadeXadrez.Terminada) { try { Console.Clear(); Tela.ImprimirPartida(partidadeXadrez); Console.Write("\nOrigem: "); Posicao origem = Tela.LerPosicaoXadrez().ToPosicao(); partidadeXadrez.ValidarPosicaodeOrigem(origem); bool[,] posicoesPossiveis = partidadeXadrez.Tab.Peca(origem).MovimentosPossiveis(); Console.Clear(); Tela.ImprimirTabuleiro(partidadeXadrez.Tab, posicoesPossiveis); Console.Write("\nDestino: "); 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(e.Message); } }
static void Main(string[] args) { PosicaoXadrez pos = new PosicaoXadrez('c', 7); 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.ReadLine(); }