예제 #1
0
        private static void PosXadrez()
        {
            PosicaoXadrez pos = new PosicaoXadrez('h', 8);


            Console.WriteLine(pos.ConvertPosicao());
        }
예제 #2
0
        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);
                }
            }
        }
예제 #3
0
        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);
            }
        }
예제 #4
0
        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();
        }