Exemple #1
0
        public static void printMatch(ChessMatch match)
        {
            ConsoleColor originalBackground      = Console.BackgroundColor;
            ConsoleColor alteredBackgroundRed    = ConsoleColor.DarkRed;
            ConsoleColor alteredBackgroundYellow = ConsoleColor.DarkYellow;

            printBoard(match.board);
            Console.WriteLine();
            printCapturedPieces(match);
            Console.WriteLine();
            Console.WriteLine("Turn: " + match.turn + "º");
            if (!match.finished)
            {
                Console.WriteLine("Next move: " + match.currentPlayer);
                if (match.check)
                {
                    Console.BackgroundColor = alteredBackgroundYellow;
                    Console.WriteLine("CHECK!");
                    Console.BackgroundColor = originalBackground;
                }
            }

            else
            {
                Console.BackgroundColor = alteredBackgroundRed;
                Console.WriteLine("CHECKMATE!");
                Console.BackgroundColor = originalBackground;
                Console.WriteLine("Winner: " + match.currentPlayer);
            }
        }
Exemple #2
0
        static void Main(string[] args)
        {
            try
            {
                ChessMatch chessMatch = new ChessMatch();

                while (!chessMatch.finished)
                {
                    Console.Clear();
                    Screen.PrintTray(chessMatch.Board);

                    Console.WriteLine();
                    Console.Write("\nOrigin: ");
                    Position origin = Screen.ReadChessPosition().ToPosition();

                    bool[,] possiblePositions = chessMatch.Board.piece(origin).PossibleMovements();

                    Console.Clear();
                    Screen.PrintTray(chessMatch.Board, possiblePositions);

                    Console.WriteLine();
                    Console.Write("Destiny: ");
                    Position destiny = Screen.ReadChessPosition().ToPosition();

                    chessMatch.ExecuteMoviment(origin, destiny);
                }

                Screen.PrintTray(chessMatch.Board);
            }
            catch (BoardException error)
            {
                Console.WriteLine(error.Message);
            }
            Console.ReadLine();
        }
Exemple #3
0
        static void Main(string[] args)
        {
            try
            {
                ChessMatch match = new ChessMatch();

                while (true)
                {
                    try
                    {
                        Console.Clear();
                        Screen.PrintMatch(match);
                        if (match.IsMatchEnded)
                        {
                            break;
                        }

                        Console.Write("\nOrigin: ");
                        Position origin = Screen.ReadChessPosition().ToPosition();
                        match.ValidateOriginPosition(origin);
                        bool[,] possiblePositions = match.Board.GetPiece(origin).PossibleMoviments();

                        Console.Clear();
                        Screen.PrintBoard(match.Board, possiblePositions);
                        Console.WriteLine("\nTurn: " + match.Turn);
                        Console.WriteLine("Waiting for move: " + match.CurrentPlayer);

                        Console.Write("\nDestination: ");
                        Position destination = Screen.ReadChessPosition().ToPosition();
                        match.ValidateDestinationPosition(origin, destination);

                        match.PerformsMove(origin, destination);
                    }
                    catch (ChessBoardException e)
                    {
                        Console.WriteLine(e.Message + " Press anything to continue!");
                        Console.ReadLine();
                    }
                    catch (IndexOutOfRangeException)
                    {
                        Console.WriteLine("Position out of bounds!");
                        Console.ReadLine();
                    }
                    catch (FormatException)
                    {
                        Console.WriteLine("Invalid input format!");
                        Console.ReadLine();
                    }
                    catch (Exception)
                    {
                        Console.WriteLine("Unexpected error!");
                        Console.ReadLine();
                    }
                }
            }
            catch (ChessBoardException e)
            {
                Console.WriteLine(e.Message);
            }
        }
Exemple #4
0
        public static void PrintCapturedPieces(ChessMatch match)
        {
            Console.WriteLine("Captured pieces: ");
            Console.Write("Whites: ");
            PrintSet(match.GetCapturedPieces(Color.White));
            Console.Write("Black: ");
            ConsoleColor aux = Console.ForegroundColor;

            Console.ForegroundColor = ConsoleColor.Yellow;
            PrintSet(match.GetCapturedPieces(Color.Black));
            Console.ForegroundColor = aux;
        }
Exemple #5
0
 public static void PrintChessMatch(ChessMatch chessMatch)
 {
     GameWindow.PrintBoardGame(chessMatch.Board);
     Console.WriteLine();
     PrintCapturedPieces(chessMatch);
     Console.WriteLine();
     Console.WriteLine("Turn: " + chessMatch.Turn);
     Console.WriteLine("Waiting for: " + chessMatch.CurrentPlayer);
     if (chessMatch.Check)
     {
         Console.WriteLine("You are in CHECK");
     }
 }
 public static void PrintMatch(ChessMatch match)
 {
     PrintBoard(match.Board);
     Console.WriteLine();
     PrintCatchedPieces(match);
     Console.WriteLine();
     Console.WriteLine("Round: " + match.Round);
     Console.WriteLine("Waiting move: " + match.CurrentPlayer);
     if (match.InCheck)
     {
         Console.WriteLine("CHECK !!!");
     }
 }
Exemple #7
0
        public static void PrintCapturedPieces(ChessMatch chessMatch)
        {
            Console.WriteLine("Captured pieces: ");
            Console.Write("White: ");
            PrintPiecesGroup(chessMatch.CapturedPieces(Color.White));
            Console.WriteLine();
            Console.Write("Black: ");
            ConsoleColor aux = Console.ForegroundColor;

            Console.ForegroundColor = ConsoleColor.Blue;
            PrintPiecesGroup(chessMatch.CapturedPieces(Color.Black));
            Console.ForegroundColor = aux;
            Console.WriteLine();
        }
Exemple #8
0
        public static void printCapturedPieces(ChessMatch match)
        {
            Console.WriteLine("Captured pieces: ");
            Console.Write("White: ");
            printGroup(match.capturedPieces(Color.White));
            Console.WriteLine();
            Console.Write("Black: ");
            ConsoleColor aux = Console.ForegroundColor;

            Console.ForegroundColor = ConsoleColor.Yellow;
            printGroup(match.capturedPieces(Color.Black));
            Console.ForegroundColor = aux;
            Console.WriteLine();
        }
Exemple #9
0
        public static void PrintCapturetedPieces(ChessMatch chessMatch)
        {
            Console.WriteLine("Captureted Pieces: ");
            Console.Write("Whites: ");
            PrintHashset(chessMatch.CapturetedPieces(Color.White));
            Console.WriteLine();
            ConsoleColor aux = Console.ForegroundColor;

            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.Write("Blacks: ");
            PrintHashset(chessMatch.CapturetedPieces(Color.Black));
            Console.ForegroundColor = aux;
            Console.WriteLine();
        }
Exemple #10
0
        public static void printCapturedPieces(ChessMatch match)
        {
            Console.WriteLine("Captured Pieces: ");
            Console.Write("Whites: ");
            printCollection(match.onlycapturedPieces(Color.White));
            Console.WriteLine();
            Console.Write("Blacks: ");
            ConsoleColor aux = Console.ForegroundColor;

            Console.ForegroundColor = ConsoleColor.Red;
            printCollection(match.onlycapturedPieces(Color.Black));
            Console.ForegroundColor = aux;
            Console.WriteLine();
        }
Exemple #11
0
        // It will demonstrate on the screen which pieces were captured
        public static void PrintCapturedPieces(ChessMatch match)
        {
            Console.WriteLine("Captured Pieces: ");
            Console.Write("White: ");
            PrintSet(match.CapturedPiecesByColor(Color.White));
            Console.WriteLine();
            Console.Write("Black: ");
            ConsoleColor previousColor = Console.ForegroundColor;

            Console.ForegroundColor = ConsoleColor.DarkBlue;
            PrintSet(match.CapturedPiecesByColor(Color.Black));
            Console.ForegroundColor = previousColor;
            Console.WriteLine();
        }
Exemple #12
0
        static void Main(string[] args)
        {
            try
            {
                ChessMatch match = new ChessMatch();

                while (!match.finished)
                {
                    try
                    {
                        Console.Clear();
                        Screen.printMatch(match);

                        Console.WriteLine();
                        Console.Write("Origin: ");
                        Position origin = Screen.writhPosition().toPosition();
                        match.validateOriginPosition(origin);

                        bool[,] possiblePositions = match.board.piece(origin).possibleMoves();

                        Console.Clear();
                        Screen.printBoard(match.board, possiblePositions);

                        Console.WriteLine();
                        Console.Write("Destiny: ");
                        Position destiny = Screen.writhPosition().toPosition();
                        match.validateDestinyPosition(origin, destiny);

                        match.Move(origin, destiny);
                    }

                    catch (BoardException e)
                    {
                        Console.WriteLine(e.Message);
                        Console.ReadLine();
                    }
                }
                Console.Clear();
                Screen.printMatch(match);
            }

            catch (BoardException e)
            {
                Console.WriteLine(e.Message);
            }

            Console.ReadLine();
        }
Exemple #13
0
        public static void PrintCapturedPieces(ChessMatch match)
        {
            Console.WriteLine("Captured pieces:");
            Console.Write("White: ");
            ConsoleColor auxColor = Console.ForegroundColor;

            Console.ForegroundColor = ConsoleColor.DarkYellow;
            PrintAllPieces(match.CapturedPieces(Color.White));
            Console.ForegroundColor = auxColor;
            Console.WriteLine();
            Console.Write("Black: ");
            Console.ForegroundColor = ConsoleColor.DarkCyan;
            PrintAllPieces(match.CapturedPieces(Color.Black));
            Console.ForegroundColor = auxColor;
            Console.WriteLine();
        }
Exemple #14
0
        private static void PrintOutOfGamePiecesByColor(ChessMatch chessMatch, Color color)
        {
            Console.Write("Out pieces: ");
            Console.ForegroundColor = (ConsoleColor)color;
            string value = "[";

            foreach (var piece in chessMatch.GetOutOfGamePieces(color))
            {
                value += (piece + " ");
            }

            value += "]";

            Console.WriteLine(value);
            Console.ForegroundColor = _defaultConsoleForegroundColor;
        }
Exemple #15
0
        public static void PrintMatchStatus(ChessMatch chessMatch)
        {
            Console.WriteLine("Turn: {0}", chessMatch.Turn);
            Console.WriteLine("Current player: {0} piece's", chessMatch.CurrentPlayer);
            PrintOutOfGamePiecesByColor(chessMatch, Color.White);
            PrintOutOfGamePiecesByColor(chessMatch, Color.DarkGray);

            if (chessMatch.Check)
            {
                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.WriteLine("CHECK!!!");
                Console.ForegroundColor = _defaultConsoleForegroundColor;
            }

            Console.Write("\n\n");
        }
        public static void PrintCatchedPieces(ChessMatch match)
        {
            Console.WriteLine("Catched pieces:");

            Console.Write("White: ");
            PrintGroup(match.CatchedPiecesByColor(Color.White));
            Console.WriteLine();

            Console.Write("Black: ");
            var oldColor = Console.ForegroundColor;

            Console.ForegroundColor = ConsoleColor.Yellow;
            PrintGroup(match.CatchedPiecesByColor(Color.Black));
            Console.ForegroundColor = oldColor;
            Console.WriteLine();
        }
Exemple #17
0
        static void Main(string[] args)
        {
            try
            {
                ChessMatch match = new ChessMatch();

                while (!match.Endgame)
                {
                    try
                    {
                        Console.Clear();
                        Screen.PrintChessMacth(match);

                        Console.WriteLine();

                        Console.Write("Origem: ");
                        Position origin = Screen.ReadChessPosition().ToPosition();
                        match.ValidateOriginPosition(origin);

                        bool[,] possiblePositions = match.Board.Piece(origin).PossibleMovements();

                        Console.Clear();
                        Screen.PrintBoard(match.Board, possiblePositions);

                        Console.WriteLine();
                        Console.Write("Destino: ");
                        Position destination = Screen.ReadChessPosition().ToPosition();
                        match.ValidadeDestinationPosition(origin, destination);

                        match.MakeMove(origin, destination);
                    }
                    catch (GameBoardException e)
                    {
                        Console.WriteLine(e.Message);
                        Console.ReadLine();
                    }
                }

                Console.Clear();
                Screen.PrintChessMacth(match);
            }
            catch (GameBoardException e)
            {
                Console.WriteLine(e.Message);
            }
        }
Exemple #18
0
        static void Main(string[] args)
        {
            try
            {
                var match = new ChessMatch();

                while (!match.Finished)
                {
                    try
                    {
                        Console.Clear();
                        Screnn.PrintMatch(match);

                        Console.WriteLine();
                        Console.Write("From: ");
                        var from = Screnn.GetChessPosition().ToPosition();
                        match.ValidateFromPosition(from);

                        var possiblePositions = match
                                                .Board
                                                .Piece(from)
                                                .PossibleMovements();
                        Console.Clear();
                        Screnn.PrintBoard(match.Board, possiblePositions);

                        Console.WriteLine();
                        Console.Write("To: ");
                        var to = Screnn.GetChessPosition().ToPosition();
                        match.ValidateToPosition(from, to);

                        match.PerformMove(from, to);
                    }
                    catch (BoardException exception)
                    {
                        Console.WriteLine(exception.Message);
                        Console.ReadLine();
                    }
                }
            }
            catch (BoardException exception)
            {
                Console.WriteLine(exception.Message);
            }

            Console.ReadLine();
        }
Exemple #19
0
        static void Main(string[] args)
        {
            try
            {
                ChessMatch match = new ChessMatch();

                while (!match.finished)
                {
                    try
                    {
                        Console.Clear();
                        Screen.PrintScreen(match);

                        Console.WriteLine();
                        Console.Write("Piece: ");
                        Position origin = Screen.ReadPosition().ToPosition();
                        match.ValidateOriginPosition(origin);

                        bool[,] possiblePositions = match.chessBoard.Piece(origin).PossibleMovements();

                        Console.Clear();
                        Screen.PrintPossibleMovements(match.chessBoard, possiblePositions, match);

                        Console.WriteLine();
                        Console.Write("Move to: ");
                        Position destiny = Screen.ReadPosition().ToPosition();
                        match.ValidadeDestinyPosition(origin, destiny);

                        match.MoveMade(origin, destiny);
                    }
                    catch (BoardException e)
                    {
                        Console.WriteLine(e.Message);
                        Console.ReadLine();
                    }
                }
                Console.Clear();
                Screen.PrintScreen(match);
            }
            catch (BoardException e)
            {
                Console.WriteLine(e.Message);
            }

            Console.ReadLine();
        }
Exemple #20
0
        static void Main(string[] args)
        {
            try
            {
                ChessMatch match = new ChessMatch();

                while (!match.Finished)
                {
                    try
                    {
                        Console.Clear();
                        Screen.printMatch(match);

                        Console.WriteLine();
                        Console.Write("Origin: ");
                        Position origin = Screen.readChessPosition();
                        match.validatePositionOrigin(origin);

                        bool[,] possiblePositions = match.Board.getPiece(origin).possibleMoviments();

                        Console.Clear();
                        Screen.printBoard(match.Board, possiblePositions);

                        Console.WriteLine();
                        Console.Write("Destiny: ");
                        Position destiny = Screen.readChessPosition();
                        match.validatePositionDestiny(origin, destiny);

                        match.realizeMove(origin, destiny);
                    }
                    catch (BoardException e)
                    {
                        Console.WriteLine(e.Message);
                        Console.ReadLine();
                    }
                }

                Console.Clear();
                Screen.printMatch(match);
                Console.ReadLine();
            }
            catch (BoardException e)
            {
                Console.WriteLine(e.Message);
            }
        }
Exemple #21
0
        public static void PrintEndOfMatch(ChessMatch chessMatch)
        {
            Console.Clear();

            Console.ForegroundColor = ConsoleColor.Yellow;
            Console.WriteLine("CHECKMATE!!!\n");
            Console.ForegroundColor = _defaultConsoleForegroundColor;

            Console.WriteLine("Winner: {0} piece's", chessMatch.CurrentPlayer);
            Console.WriteLine("Turn: {0}", chessMatch.Turn);
            Console.WriteLine("Started at: {0}", chessMatch.StartedAt);
            Console.WriteLine("Finished at: {0}\n", chessMatch.FinishedAt);

            PrintChessBoardOnEndOfMatch(chessMatch.ChessBoard);

            Console.ReadLine();
        }
Exemple #22
0
        static void Main(string[] args)
        {
            try
            {
                ChessMatch match = new ChessMatch();

                while (!match.MatchIsOver)
                {
                    try
                    {
                        Console.Clear();
                        Screen.PrintMatch(match);

                        Console.WriteLine();
                        Console.Write("Original: ");
                        // It is always necessary to transform the position provided by the user (chess position) into a matrix position
                        PositionBoard originalPosition = Screen.ReadChessPosition().ChessPositionToMatrixPosition();
                        match.ValidateOriginalPosition(originalPosition);

                        // pick up the required piece in the original position, check which movements are possible and store it in the matrix
                        bool[,] PossiblePositions = match.Board.Piece(originalPosition).PossibleMoviments();

                        Console.Clear();
                        Screen.PrintBoard(match.Board, PossiblePositions);

                        Console.WriteLine();
                        Console.Write("Destination: ");
                        PositionBoard destinationPosition = Screen.ReadChessPosition().ChessPositionToMatrixPosition();
                        match.ValidateDestinationPosition(originalPosition, destinationPosition);
                        match.MakeAMove(originalPosition, destinationPosition);
                    }
                    catch (BoardException e)
                    {
                        Console.WriteLine(e.Message);
                        Console.ReadLine();
                    }
                }
                Console.Clear();
                Screen.PrintMatch(match);
            }
            catch (BoardException e)
            {
                Console.WriteLine(e.Message);
            }
        }
Exemple #23
0
 public static void PrintMatch(ChessMatch match)
 {
     Screen.PrintBoard(match.Board);
     Console.WriteLine();
     PrintCapturedPieces(match);
     Console.WriteLine("\nTurn: " + match.Turn);
     if (!match.IsMatchEnded)
     {
         Console.WriteLine("Waiting for move: " + match.CurrentPlayer);
         if (match.InCheck)
         {
             Console.WriteLine("CHECK!");
         }
     }
     else
     {
         Console.WriteLine("CHECKMATE!");
         Console.WriteLine("Winner: " + match.CurrentPlayer);
     }
 }
Exemple #24
0
        static void Main(string[] args)
        {
            ChessMatch match = new ChessMatch();

            while (!match.Finished)
            {
                View.PrintChessBoard(match.ChessBoard);
                View.PrintMatchStatus(match);

                try
                {
                    Console.Write("Origin: ");
                    var originPosition = View.ReadChessPosition();

                    match.CheckOriginPosition(originPosition);

                    // Print the chess board with the piece's possible movements
                    View.PrintChessBoard(match.ChessBoard, originPosition);
                    View.PrintMatchStatus(match);

                    Console.WriteLine("Origin: {0}{1}", char.ToUpper(originPosition.Column), originPosition.Line);

                    Console.Write("Target: ");
                    var targetPosition = View.ReadChessPosition();

                    match.CheckTargetPosition(targetPosition);

                    match.ExecuteMovement(originPosition, targetPosition);
                }
                catch (ChessBoardException e)
                {
                    View.PrintException(e);
                }
                catch (ChessMatchException e)
                {
                    View.PrintException(e);
                }
            }

            View.PrintEndOfMatch(match);
        }
Exemple #25
0
 public static void PrintChessMacth(ChessMatch chessMatch)
 {
     Screen.PrintBoard(chessMatch.Board);
     Console.WriteLine();
     PrintCapturetedPieces(chessMatch);
     Console.WriteLine();
     Console.WriteLine("Turn: " + chessMatch.Turn);
     if (!chessMatch.Endgame)
     {
         Console.WriteLine("Waiting move: " + chessMatch.CurrentPlayer);
         if (chessMatch.Check)
         {
             Console.WriteLine("CHECK!");
         }
     }
     else
     {
         Console.WriteLine("CHECKMATE!");
         Console.WriteLine("Winner: " + chessMatch.CurrentPlayer);
     }
 }
Exemple #26
0
 public static void PrintScreen(ChessMatch match)
 {
     PrintBoard(match.chessBoard);
     Console.WriteLine();
     PrintCapturedPieces(match);
     Console.WriteLine();
     Console.WriteLine("Round: " + match.round);
     if (!match.finished)
     {
         Console.WriteLine("Player turn: " + match.currentPlayer);
         if (match.check)
         {
             Console.WriteLine("Check!");
         }
     }
     else
     {
         Console.WriteLine("Checkmate!");
         Console.WriteLine("Winner: " + match.currentPlayer);
     }
 }
Exemple #27
0
 public static void PrintMatch(ChessMatch match)
 {
     PrintBoard(match.Board);
     Console.WriteLine();
     PrintCapturedPieces(match);
     Console.WriteLine();
     Console.WriteLine("Turn: " + match.Turn);
     if (!match.Finished)
     {
         Console.WriteLine("Waiting move of: " + match.CurrentPlayer);
         if (match.Check)
         {
             Console.WriteLine("YOU'R IN CHECK!");
         }
     }
     else
     {
         Console.WriteLine("CHECKMATE!!!");
         Console.WriteLine($"The winner is {match.CurrentPlayer}");
     }
 }
Exemple #28
0
 public static void PrintMatch(ChessMatch match)
 {
     Screen.PrintBoard(match.Board);
     Console.WriteLine();
     PrintCapturedPieces(match);
     Console.WriteLine();
     Console.WriteLine($"Turn: {match.TurnToPlay} ");
     if (!match.MatchIsOver)
     {
         Console.WriteLine($"Awaiting move: {match.CurrentPlayer}");
         if (match.MatchInCheck)
         {
             Console.WriteLine("XEQUE!");
         }
     }
     else
     {
         Console.WriteLine("XEQUEMATE!");
         Console.WriteLine($"Winner: {match.CurrentPlayer}");
     }
 }
Exemple #29
0
        static void Main(string[] args)
        {
            try
            {
                ChessMatch chessMatch = new ChessMatch();

                while (!chessMatch.Finished)
                {
                    try
                    {
                        Console.Clear();
                        GameWindow.PrintChessMatch(chessMatch);


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

                        bool[,] possiblePositions = chessMatch.Board.piece(origin).PossibleMovements();
                        Console.Clear();
                        GameWindow.PrintBoardGame(chessMatch.Board, possiblePositions);

                        Console.Write("Destination: ");
                        Position destination = GameWindow.ReadChessPosition().ToPosition();
                        chessMatch.ValidateDestinationPosition(origin, destination);
                        chessMatch.MakeTheMovement(origin, destination);
                    }
                    catch (BoardExceptions ex)
                    {
                        Console.WriteLine(ex.Message);
                        Console.ReadLine();
                    }
                }
            }
            catch (BoardExceptions e)
            {
                Console.WriteLine(e.Message);
            }
        }
Exemple #30
0
        public static void printMatch(ChessMatch match)
        {
            Screen.printBoard(match.Board);
            Console.WriteLine();
            printCapturedPieces(match);
            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine("Turn: " + match.turn);

            if (!match.Finished)
            {
                Console.WriteLine("Aguardando Jogada: " + match.currentPlayer);

                if (match.check)
                {
                    Console.WriteLine("CHEEECK!");
                }
            }
            else
            {
                Console.WriteLine("CHEEECK MAAATE!!");
                Console.WriteLine("Winner: " + match.currentPlayer + "!!");
            }
        }