コード例 #1
0
        static void Main(string[] args)
        {
            PartidadeXadrez partida = new PartidadeXadrez();

            while (!partida.terminada)
            {
                try
                {
                    Tela.imprimirPartida(partida);
                    Console.Write("\nOrigem: ");
                    Posicao origem = Tela.lerPosicaoXadrez().toPosicao();
                    partida.validarPosicaoDeOrigem(origem);

                    bool[,] posicoesPossiveis = partida.tab.peca(origem).movimentoPossiveis();

                    Console.Clear();
                    Tela.imprimirTabuleiro(partida.tab, posicoesPossiveis);

                    Console.Write("\nDestino: ");
                    Posicao destino = Tela.lerPosicaoXadrez().toPosicao();
                    partida.validarPosicaoDeDestino(origem, destino);

                    partida.realizaJogada(origem, destino);
                }
                catch (TabuleiroException e)
                {
                    Console.WriteLine(e.Message);
                    Console.ReadLine();
                }
            }
            Tela.imprimirPartida(partida);

            Console.ReadLine();
        }
コード例 #2
0
 public static void imprimirPartida(PartidadeXadrez partida)
 {
     imprimirTabuleiro(partida.tab);
     Console.WriteLine();
     imprimirPecasCapturadas(partida);
     Console.WriteLine();
     Console.WriteLine("Turno: " + partida.turno);
     Console.WriteLine("Aguardando jogada: " + partida.jogadorAtual);
 }
コード例 #3
0
ファイル: Tela.cs プロジェクト: AlexDeusdete/xadrez_console
        public static void imprimirPecasCapturadas(PartidadeXadrez partida)
        {
            Console.WriteLine("Peças Capturadas: ");
            Console.Write("Brancas: ");
            imprimirConjunto(partida.pecasCapturadas(Cor.Branca));
            Console.Write("Pretas: ");
            ConsoleColor aux = Console.ForegroundColor;

            Console.ForegroundColor = ConsoleColor.Yellow;
            imprimirConjunto(partida.pecasCapturadas(Cor.Preta));
            Console.ForegroundColor = aux;
        }
コード例 #4
0
        public static void imprimirPartida(PartidadeXadrez partida)
        {
            imprimirTabuleiro(partida.tab);
            Console.WriteLine();
            imprimirPecasCapturadas(partida);
            Console.WriteLine();
            Console.WriteLine("Turno :" + partida.turno);
            Console.WriteLine();
            Console.WriteLine("Aguardando a jogada do jogador :" + partida.jogadorAtual);
            Console.WriteLine();

            if (partida.xeque)
            {
                Console.WriteLine("JOGADOR " + partida.jogadorAtual + " VOCÊ ESTÁ EM CHEQUE !");
            }
        }
コード例 #5
0
ファイル: Tela.cs プロジェクト: tsramos/projetoxadrez
 public static void imprimirPartida(PartidadeXadrez partida)
 {
     imprimirTabuleiro(partida.tab);
     imprimirPecasCapturadas(partida);
     Console.WriteLine($"\nTurno : {partida.turno}");
     if (!partida.terminada)
     {
         Console.WriteLine($"Aguardando jogada: {partida.jogadorAtual}");
         if (partida.xeque)
         {
             Console.WriteLine("XEQUE!!!");
         }
     }
     else
     {
         Console.WriteLine($"XEQUEMATE!!\n Vencedor: {partida.jogadorAtual}");
     }
 }
コード例 #6
0
ファイル: Tela.cs プロジェクト: AlexDeusdete/xadrez_console
 public static void imprimirPartida(PartidadeXadrez partida)
 {
     Console.Clear();
     imprimirTabuleiro(partida.tab);
     Console.WriteLine();
     imprimirPecasCapturadas(partida);
     Console.WriteLine("\nTruno: " + partida.turno);
     if (!partida.terminada)
     {
         Console.WriteLine("Aguardando jogada: " + partida.jogadorAtual);
         if (partida.xeque)
         {
             Console.WriteLine("XEQUE!!!!!!!!");
         }
     }
     else
     {
         Console.WriteLine("XEQUE MATE!!!!");
         Console.WriteLine("Vencedor é: " + partida.jogadorAtual);
     }
 }
コード例 #7
0
ファイル: Program.cs プロジェクト: aurinolins/xadrez
        static void Main(string[] args)
        {
            PartidadeXadrez partida = new PartidadeXadrez();


            try
            {
                while (!partida.encerrada)
                {
                    Console.Clear();
                    Tela.ImprimirTabuleiro(partida.tab, partida.jogadoratual);
                    bool jogadapermitida = Tela.EscolherJogada(partida);
                    if (jogadapermitida)
                    {
                        partida.AtualizarPartida();
                    }
                }
            }
            catch (TabuleiroException e)
            {
                Console.WriteLine(e.Message);
            }
        }
コード例 #8
0
        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();
        }
コード例 #9
0
ファイル: Tela.cs プロジェクト: aurinolins/xadrez
        public static bool EscolherJogada(PartidadeXadrez partida)
        {
            if (partida.emcheque)
            {
                if (partida.ChequeMate(partida.posrei))
                {
                    Console.WriteLine("Atenção : Cheque Mate !!! ");
                    Console.WriteLine();
                    Console.WriteLine("Partida Encerrada !!!");
                    Console.ReadLine();
                    partida.encerrada = true;
                    return(false);
                }
                else
                {
                    Console.WriteLine("Atenção : Seu Rei está em Cheque !!! ");
                    Console.WriteLine();
                }
            }

            Console.WriteLine("Origem : ");
            string origemaux = Console.ReadLine();

            if (origemaux == null)
            {
                Console.WriteLine("Posicao de Origem Invalida : ");
                Console.ReadLine();
                return(false);
            }
            char    coluna = origemaux[0];
            int     linha  = int.Parse(origemaux[1] + "");
            Posicao origem = new Posicao(8 - linha, coluna - 'a');

            if (origem == null)
            {
                Console.WriteLine("Posicao de Origem Invalida : ");
                Console.ReadLine();
                return(false);
            }
            if (!partida.tab.PosicaoValida(origem))
            {
                Console.WriteLine("Posicao de origem Invalida : ");
                Console.ReadLine();
                return(false);
            }
            if (!partida.tab.ExistePeca(origem))
            {
                Console.WriteLine("Peça de Origem Inexistente : ");
                Console.ReadLine();
                return(false);
            }

            if (partida.tab.peca(origem).cor != partida.jogadoratual)
            {
                Console.WriteLine("Peça de Origem não pertence ao jogador atual : ");
                Console.ReadLine();
                return(false);
            }

            Console.WriteLine("Destino : ");
            string destinoaux = Console.ReadLine();

            if (destinoaux == null)
            {
                Console.WriteLine("Posicao de destino Invalida : ");
                Console.ReadLine();
                return(false);
            }
            coluna = destinoaux[0];
            linha  = int.Parse(destinoaux[1] + "");
            Posicao destino = new Posicao(8 - linha, coluna - 'a');

            if (destino == null)
            {
                Console.WriteLine("Posicao de destino Invalida : ");
                Console.ReadLine();
                return(false);
            }


            if (!partida.tab.PosicaoValida(destino))
            {
                Console.WriteLine("Posicao de destino Invalida : ");
                Console.ReadLine();
                return(false);
            }

            Peca pecaorigem = partida.tab.peca(origem);

            if (!pecaorigem.movimentospossiveis(partida.tab, origem, destino))
            {
                Console.WriteLine("Posicao de Destino Invalida : ");
                Console.ReadLine();
                return(false);
            }

            Peca pecacapturada = partida.executamovimento(origem, destino);

            Posicao posrei = partida.EncontrarPosicaoRei(pecaorigem);

            if (partida.ReiemCheque(posrei))
            {
                Console.WriteLine("Atenção : Seu Rei Fica em Cheque !!! ");
                Console.WriteLine();
                Console.ReadLine();
                partida.Desfazmovimento(origem, destino, pecaorigem, pecacapturada);
                return(false);
            }

            return(true);
        }