Beispiel #1
0
        public static void PrintCapturedPieces(ChessPlay play)
        {
            Console.WriteLine("Captured Pieces:");
            Console.Write("Whites: ");
            PrintSet(play.CapturedPieces(Color.White));
            Console.WriteLine();
            Console.Write("Blacks: ");
            ConsoleColor aux = Console.ForegroundColor;

            Console.ForegroundColor = ConsoleColor.Yellow;
            PrintSet(play.CapturedPieces(Color.Black));
            Console.ForegroundColor = aux;
            Console.WriteLine();
        }
Beispiel #2
0
        public static void showDeadPieces(ChessPlay play)
        {
            Console.WriteLine("Peças mortas: ");
            Console.Write("Brancas: ");
            showSet(play.getDeadPieces(Color.white));

            ConsoleColor auxColor = Console.ForegroundColor;

            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine();
            Console.Write("Pretas: ");
            showSet(play.getDeadPieces(Color.black));
            Console.ForegroundColor = auxColor;
        }
Beispiel #3
0
        static void Main(string[] args)
        {
            try
            {
                ChessPlay play = new ChessPlay();

                while (!play.finished)
                {
                    try
                    {
                        Console.Clear();
                        Screen.PrintBoard(play);

                        Console.WriteLine();
                        Console.Write("Origin: ");
                        Position origin = Screen.ReadChessPosition().ToPosition();
                        play.ValidateOriginPosition(origin);

                        bool[,] possiblePositions = play.board.piece(origin).PossibleMovements();

                        Console.Clear();
                        Screen.DrawBoard(play.board, possiblePositions);

                        Console.WriteLine();
                        Console.Write("Destination: ");
                        Position destination = Screen.ReadChessPosition().ToPosition();
                        play.ValidateDestinationPosition(origin, destination);

                        play.MakePlay(origin, destination);
                    }
                    catch (BoardException e)
                    {
                        Console.WriteLine(e.Message);
                        Console.ReadLine();
                    }
                }
                Console.Clear();
                Screen.PrintBoard(play);
            }
            catch (BoardException e)
            {
                Console.WriteLine(e.Message);
            }

            Console.ReadLine();
        }
Beispiel #4
0
        static void Main(string[] args)
        {
            try
            {
                ChessPlay play = new ChessPlay();
                while (!play.hasFinish)
                {
                    try
                    {
                        Console.Clear();
                        Screen.showPlayInfo(play);

                        Console.WriteLine();
                        Console.WriteLine("origem: ");
                        Position origin = Screen.readPosition().toPosition();
                        play.validateOriginPosition(origin);


                        bool[,] possiblePositions = play.board.getPiece(origin).possibleMovements();

                        Console.Clear();
                        Screen.showBoard(play.board, possiblePositions);

                        Console.WriteLine();
                        Console.WriteLine("destino: ");
                        Position destiny = Screen.readPosition().toPosition();
                        play.validateDestinyPosition(origin, destiny);

                        play.makeMove(origin, destiny);
                    }
                    catch (BoardException e)
                    {
                        Console.WriteLine(e.Message);
                        Console.ReadLine();
                    }
                }
                Console.Clear();
                Screen.showPlayInfo(play);
            }
            catch (BoardException e)
            {
                Console.WriteLine(e.Message);
            }
        }
Beispiel #5
0
 public static void PrintBoard(ChessPlay play)
 {
     DrawBoard(play.board);
     Console.WriteLine();
     PrintCapturedPieces(play);
     Console.WriteLine();
     Console.WriteLine("Turn: " + play.turn);
     if (!play.finished)
     {
         Console.WriteLine("Waiting Play: " + play.currentPlayer);
         if (play.check)
         {
             Console.WriteLine("Check!");
         }
     }
     else
     {
         Console.WriteLine("CHECKMATE!");
         Console.WriteLine("Winner: " + play.currentPlayer);
     }
 }
Beispiel #6
0
        internal static void showPlayInfo(ChessPlay play)
        {
            Console.WriteLine();
            showBoard(play.board);
            Console.WriteLine();
            Console.WriteLine($"Turno: #{play.turn}");

            if (!play.hasFinish)
            {
                Console.WriteLine($"Jogador: #{play.actualPlayer}");
                if (play.isCheck)
                {
                    Console.WriteLine("Xeque");
                }
                showDeadPieces(play);
            }
            else
            {
                Console.WriteLine("Xequemate");
                Console.WriteLine($"O jogador vencedor foi o #{play.actualPlayer}");
            }
        }