public static void PrintCapturedChessman(ChessGameplay chessGameplay)
        {
            Console.WriteLine("Peças capturadas: ");
            Console.Write("Brancas: ");
            PrintGroup(chessGameplay.CapturedChessmans(Color.White));
            Console.Write("Pretas: ");
            ConsoleColor aux = Console.ForegroundColor;

            Console.ForegroundColor = ConsoleColor.Yellow;
            PrintGroup(chessGameplay.CapturedChessmans(Color.Black));
            Console.ForegroundColor = aux;
        }
 public static void PrintChessPlay(ChessGameplay chessGameplay)
 {
     PrintChessBoard(chessGameplay.Board);
     PrintCapturedChessman(chessGameplay);
     Console.WriteLine($"Turno: {chessGameplay.Round}");
     if (!chessGameplay.End)
     {
         Console.WriteLine($"Aguardando jogada: {chessGameplay.CurrentPlayer}");
         if (chessGameplay.Xeque)
         {
             Console.WriteLine("Xeque!");
         }
     }
     else
     {
         Console.WriteLine("XEQUEMATE!");
         Console.WriteLine($"Vencedor: {chessGameplay.CurrentPlayer}");
     }
 }
Beispiel #3
0
        public static void Main(string[] args)
        {
            try
            {
                ChessGameplay chessGameplay = new ChessGameplay();

                while (!chessGameplay.End)
                {
                    try
                    {
                        Console.Clear();
                        ConsoleScreen.PrintChessPlay(chessGameplay);

                        Console.Write("\nOrigem: ");
                        Position origin = ConsoleScreen.ReadChessPosition().toPosition();
                        chessGameplay.OriginPositionValidation(origin);

                        bool[,] possibleMovements = chessGameplay.Board.ChessPiece(origin).PossibleMovements();

                        Console.Clear();
                        ConsoleScreen.PrintChessBoard(chessGameplay.Board, possibleMovements);

                        Console.Write("Destino: ");
                        Position destiny = ConsoleScreen.ReadChessPosition().toPosition();
                        chessGameplay.DestinyPositionValidation(origin, destiny);

                        chessGameplay.PerformPlay(origin, destiny);
                    }
                    catch (ChessBoardException e)
                    {
                        Console.WriteLine(e.Message);
                        Console.ReadKey();
                    }
                }
            }
            catch (ChessBoardException e)
            {
                Console.WriteLine(e.Message);
            }

            Console.ReadLine();
        }