Example #1
0
        public static void PrintCapturedPieces(ChessTurns chessTurns)
        {
            Console.WriteLine("\nPieces captured: ");
            Console.Write("Whites: ");
            PrintList(chessTurns.PiecesCaptured(Colour.white));
            Console.Write("\nBlacks: ");
            ConsoleColor colour = Console.ForegroundColor;

            Console.ForegroundColor = ConsoleColor.Red;
            PrintList(chessTurns.PiecesCaptured(Colour.black));
            Console.ForegroundColor = colour;
        }
Example #2
0
 public static void PrintGame(ChessTurns chessTurns)
 {
     PrintBoard(chessTurns.Board);
     PrintCapturedPieces(chessTurns);
     Console.WriteLine($"\n\nTurn: {chessTurns.Turn}");
     if (!chessTurns.GameOver)
     {
         Console.WriteLine($"{chessTurns.PlayerTurn} Player's turn...");
         if (chessTurns.Xeque)
         {
             Console.WriteLine("XEQUE!");
         }
     }
     else
     {
         Console.WriteLine("******** XEQUEMATE! ********");
         Console.WriteLine($"And the Winner is {chessTurns.PlayerTurn}!! ");
     }
 }
Example #3
0
        static void Main(string[] args)
        {
            try
            {
                ChessTurns chessTurns = new ChessTurns();

                while (!chessTurns.GameOver)
                {
                    try
                    {
                        Console.Clear();
                        Cover.PrintGame(chessTurns);

                        Console.Write("\nOrigin: ");
                        Position origin = Cover.ReadPiecePosition().ToPosition();
                        chessTurns.OriginPositionValidation(origin);

                        bool[,] possiblePosition = chessTurns.Board.Piece(origin).PossibleMovements();

                        Console.Clear();
                        Cover.PrintBoard(chessTurns.Board, possiblePosition);

                        Console.Write("\nDestination: ");
                        Position destination = Cover.ReadPiecePosition().ToPosition();
                        chessTurns.DestinationPositionValidation(origin, destination);
                        chessTurns.Play(origin, destination);
                    }
                    catch (BoardException e)
                    {
                        Console.WriteLine(e.Message);
                        Console.ReadLine();
                    }
                }
                Console.Clear();
                Cover.PrintGame(chessTurns);
            }
            catch (BoardException e)
            {
                Console.WriteLine($"Operation Error: {e.Message}");
            }
        }