示例#1
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);
            }
        }
示例#2
0
        public static void ImprimirPecasCapturadas(PartidadeXadrez partidadeXadrez)
        {
            Console.WriteLine("Peças Capturadas: ");
            Console.Write("Brancas: ");
            ImprimirConjunto(partidadeXadrez.PecasCapturadas(Cor.Branco));
            Console.WriteLine();
            Console.Write("Pretas: ");
            ConsoleColor aux = Console.ForegroundColor;

            Console.ForegroundColor = ConsoleColor.Yellow;
            ImprimirConjunto(partidadeXadrez.PecasCapturadas(Cor.Preta));
            Console.ForegroundColor = aux;
            Console.WriteLine();
        }
示例#3
0
        public static void ImprimirPartida(PartidadeXadrez partidadeXadrez)
        {
            Console.Clear();
            Tela.ImprimirTabuleiro(partidadeXadrez.Tab);
            Console.WriteLine();
            ImprimirPecasCapturadas(partidadeXadrez);
            Console.WriteLine("Turno: " + partidadeXadrez.Turno);

            if (!partidadeXadrez.Terminada)
            {
                Console.WriteLine("Aguardando Jogada: " + partidadeXadrez.JogadorAtual);
                if (partidadeXadrez.Xeque)
                {
                    Console.WriteLine("XEQUE");
                }
            }
            else
            {
                Console.WriteLine("XEQUEMATE!");
                Console.WriteLine("Vencedor: " + partidadeXadrez.JogadorAtual);
            }
        }
示例#4
0
 public Rei(Tabuleiro tab, Cor cor, PartidadeXadrez partida) : base(tab, cor)
 {
     this.partida = partida;
 }