Exemple #1
0
        internal static void PrintMatch(ChessMatch match)
        {
            PrintBoard(match.Board);
            Console.WriteLine();

            PrintCapturedPieces(match);
            Console.WriteLine();
            Console.WriteLine("Turn: " + match.Turns);

            if (!match.IsMatchCompleted)
            {
                Console.WriteLine($"Waiting player: {match.ActualPlayer}");
                if (match.IsCheck)
                {
                    ConsoleExt.WriteLineColored("CHECK!", ConsoleColor.Red);
                }
            }
            else
            {
                ConsoleColor?color = match.ActualPlayer == Color.Black ? ConsoleColor.DarkYellow : Console.ForegroundColor;
                ConsoleExt.WriteLineColored("CHECK MATE!", color);
                ConsoleExt.WriteLineColored($"Player {match.ActualPlayer} Won! \n", color);
                Console.WriteLine("Press any key to exit...");
                Console.ReadLine();
            }

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

                bool continueMatch = true;
                while (continueMatch)
                {
                    ScreenOperation.PrintBoard(match.Board);
                    Console.WriteLine();
                    Console.WriteLine("Enter origin position: ");
                    string posStart = Console.ReadLine();
                    Console.WriteLine("Enter destination position: ");
                    string posDest = Console.ReadLine();
                    match.MovePiece(new ChessPosition(posStart[0], int.Parse(posStart.Substring(1))).ToPosition(),
                                    new ChessPosition(posDest[0], int.Parse(posDest.Substring(1))).ToPosition());

                    Console.WriteLine("Continue? ");
                    continueMatch = bool.Parse(Console.ReadLine());
                    Console.Clear();
                }
            }
            catch (BoardException e)
            {
                Console.WriteLine(e.Message + "!");
            }
        }
Exemple #3
0
        public static void printCapturedPieces(ChessMatch match)
        {
            Console.Write($"Peças capturadas:\nBrancas:");
            printSet(match.capturedPieces(Color.white));

            Console.Write($"Peças capturadas:\nPretas:");
            printSet(match.capturedPieces(Color.black));
        }
Exemple #4
0
        private static void PrintCapturedPieces(ChessMatch match)
        {
            Console.WriteLine("Captured pieces:");

            Console.Write("White: ");
            var defaultColor = Console.ForegroundColor;

            PrintSetPieces(match.GetCapturedPieces(Color.White), defaultColor);

            Console.Write("Black: ");
            PrintSetPieces(match.GetCapturedPieces(Color.Black), ConsoleColor.DarkYellow);
            Console.ResetColor();
        }
Exemple #5
0
        public static void printPiecesTaken(ChessMatch match)
        {
            Console.WriteLine("Peças Capturadas: ");
            Console.Write("Brancas: ");
            printPieceCollection(match.getPiecesTakenByColor(Color.White));
            Console.WriteLine();
            Console.Write("Pretas: ");
            ConsoleColor aux = Console.ForegroundColor;

            Console.ForegroundColor = ConsoleColor.Yellow;
            printPieceCollection(match.getPiecesTakenByColor(Color.Black));
            Console.ForegroundColor = aux;
            Console.WriteLine();
        }
        public static void ShowCapturedPieces(ChessMatch game)
        {
            Console.WriteLine("Captured pieces: ");
            Console.Write("White: ");
            ShowPieces(game.CapturedPieces(Color.White));
            Console.WriteLine();
            Console.Write("Black: ");
            ConsoleColor aux = Console.ForegroundColor;

            Console.ForegroundColor = ConsoleColor.Yellow;
            ShowPieces(game.CapturedPieces(Color.Black));
            Console.ForegroundColor = aux;
            Console.WriteLine();
        }
Exemple #7
0
        public static void PrintCapturedPiece(ChessMatch chessMatch)
        {
            Console.WriteLine("Captured Pieces");
            Console.Write("White: ");
            PrintByTeam(chessMatch.PieceCapturedByTeam(Coloring.White));
            Console.WriteLine();
            Console.Write("Black: ");
            ConsoleColor standardForegroundColor = Console.ForegroundColor;

            Console.ForegroundColor = ConsoleColor.Yellow;
            PrintByTeam(chessMatch.PieceCapturedByTeam(Coloring.Black));
            Console.ForegroundColor = standardForegroundColor;
            Console.WriteLine();
        }
Exemple #8
0
        static void Main(string[] args)
        {
            try
            {
                ChessMatch match = new ChessMatch();


                while (!match.end)
                {
                    try
                    {
                        Console.Clear();


                        Scream.printMatch(match);
                        Console.Write("\nOrigen:");

                        Position origin = Scream.ReadChessPos().ToPosition();

                        match.validOrigin(origin);

                        bool[,] possiblePos = match.board.GetPiece(origin).possibleMov();

                        Console.Clear();

                        Scream.PrintBoard(match.board, possiblePos);


                        Console.Write("Destino:");
                        Position destiny = Scream.ReadChessPos().ToPosition();

                        match.validDestiny(origin, destiny);

                        match.accomplishMov(origin, destiny);
                    }
                    catch (BoardException e)
                    {
                        Console.WriteLine(e.Message);
                        Console.ReadLine();
                    }
                }
                Console.Clear();
                Scream.printMatch(match);
            }
            catch (BoardException e)
            {
                Console.WriteLine(e.Message);
            }
        }
Exemple #9
0
        /* Prints a chess match
         * @param ChessMatch cm
         */
        public static void PrintMatch(ChessMatch cm, bool[,] m)
        {
            if (m == null)
            {
                PrintBoard(cm.Board);
            }
            else
            {
                PrintBoard(cm.Board, m);
            }

            PrintCapturedPieces(cm);
            Console.WriteLine("\nTurn: " + cm.Turn);

            if (!cm.Finished)
            {
                Console.Write("Next Move: ");

                if (cm.CurrentPlayer == Color.Black)
                {
                    ConsoleColor aux = Console.ForegroundColor;
                    Console.ForegroundColor = ConsoleColor.DarkRed;
                    Console.WriteLine(cm.CurrentPlayer);
                    Console.ForegroundColor = aux;
                }
                else
                {
                    Console.WriteLine(cm.CurrentPlayer);
                }


                if (cm.Check)
                {
                    ConsoleColor aux = Console.ForegroundColor;
                    Console.ForegroundColor = ConsoleColor.Yellow;
                    Console.WriteLine("CHECK!");
                    Console.ForegroundColor = aux;
                }
            }
            else
            {
                ConsoleColor aux = Console.ForegroundColor;
                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.WriteLine("CHECKMATE!");
                Console.ForegroundColor = aux;

                Console.WriteLine("Winner: " + cm.CurrentPlayer);
            }
        }
Exemple #10
0
        /* Prints captured pieces
         * @param ChessMatch cm
         */
        public static void PrintCapturedPieces(ChessMatch cm)
        {
            Console.WriteLine("\nCaptured Pieces:");

            Console.Write("White: ");
            PrintCollection(cm.CapturedPieces(Color.White));

            Console.Write("\nBlack: ");
            ConsoleColor aux = Console.ForegroundColor;

            Console.ForegroundColor = ConsoleColor.DarkRed;
            PrintCollection(cm.CapturedPieces(Color.Black));
            Console.WriteLine();
            Console.ForegroundColor = aux;
        }
Exemple #11
0
        static void Main(string[] args)
        {
            try
            {
                ChessMatch match = new ChessMatch();

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

                        Display.ToDisplayMatch(match);

                        Console.WriteLine();
                        Console.Write("Origem: ");
                        Position origin = Display.ReadChessPosition().ToPosition();

                        match.ValidateOriginPosition(origin);


                        bool[,] possiblePositions = match.Board.GetPiece(origin).PossiblesMoviments();

                        Console.Clear();
                        Display.ToDisplayBoard(match.Board, possiblePositions);

                        Console.Write("Destino: ");
                        Position destiny = Display.ReadChessPosition().ToPosition();

                        match.ValidateDestinyPosition(origin, destiny);


                        match.ToPlay(origin, destiny);
                    }
                    catch (BoardException e) {
                        Console.WriteLine(e.Message);
                        Console.ReadLine();
                    }
                }
                Console.Clear();
                Display.ToDisplayMatch(match);
            }
            catch (BoardException e)
            {
                Console.WriteLine("Error: " + e.Message);
            }
        }
Exemple #12
0
        static void Main(string[] args)
        {
            try
            {
                ChessMatch cm = new ChessMatch();

                while (!cm.Finished)
                {
                    try
                    {
                        Console.Clear();
                        bool[,] possiblePos = null;
                        View.PrintMatch(cm, possiblePos);

                        Console.Write("\nFrom: ");
                        Position from = View.ReadChessPosition().ToPosition();
                        cm.ValidateFromPosition(from);

                        possiblePos = cm.Board.GetPiece(from).GetPossibleMoves();

                        Console.Clear();
                        View.PrintMatch(cm, possiblePos);

                        Console.Write("\nTo: ");
                        Position to = View.ReadChessPosition().ToPosition();
                        cm.ValidateToPosition(from, to);
                        cm.ExecuteMove(from, to);
                    }
                    catch (GameBoardException e)
                    {
                        Console.WriteLine("\n" + e.Message + "\nPress enter to continue...");
                        Console.ReadLine();
                    }
                    catch (IndexOutOfRangeException e)
                    {
                        Console.WriteLine("\n" + "Invalid Position!" + "\nPress enter to continue...");
                        Console.ReadLine();
                    }
                }
                Console.Clear();
                View.PrintMatch(cm, null);
            }
            catch (GameBoardException e)
            {
                Console.WriteLine(e.Message);
            }
        }
Exemple #13
0
        static void Main(string[] args)
        {
            ChessMatch        chessMatch = new ChessMatch();
            List <ChessPiece> captured   = new List <ChessPiece>();

            while (!chessMatch.Checkmate)
            {
                try {
                    Console.Clear();
                    UI.PrintMatch(chessMatch, captured);
                    Console.WriteLine();
                    Console.Write("Source: ");
                    ChessPosition source = UI.ReadChessPosition();

                    bool[,] possibleMoves = chessMatch.PossibleMoves(source);
                    Console.Clear();
                    UI.PrintBoard(chessMatch.Pieces, possibleMoves);
                    Console.WriteLine();
                    Console.Write("Target: ");
                    ChessPosition target = UI.ReadChessPosition();

                    ChessPiece capturedPiece = chessMatch.PerformChessMove(source, target);

                    if (capturedPiece != null)
                    {
                        captured.Add(capturedPiece);
                    }

                    if (chessMatch.Promoted != null)
                    {
                        Console.Write("Enter piece for promotion (B/N/R/Q): ");
                        string type = Console.ReadLine();
                        chessMatch.ReplacePromotedPiece(type);
                    }
                }
                catch (ChessException e) {
                    Console.WriteLine(e.Message);
                    Console.ReadLine();
                }
                catch (FormatException e) {
                    Console.WriteLine(e.Message);
                    Console.ReadLine();
                }
            }
            Console.Clear();
            UI.PrintMatch(chessMatch, captured);
        }
Exemple #14
0
        static void Main(string[] args)
        {
            try
            {
                ChessMatch game = new ChessMatch();

                while (!game.finished)
                {
                    try
                    {
                        Console.Clear();
                        Screen.ShowGame(game);

                        Console.WriteLine();
                        Console.Write("Origin: ");
                        Position origin = Screen.ReadSquare().toPosicao();
                        game.ValidateOriginPosition(origin);

                        bool[,] posicoesPossiveis = game.brd.GetPiece(origin).possibleMovements();

                        Console.Clear();
                        Screen.ShowBoard(game.brd, posicoesPossiveis);

                        Console.WriteLine();
                        Console.Write("Destiny: ");
                        Position destiny = Screen.ReadSquare().toPosicao();
                        game.ValidateDestinyPosition(origin, destiny);

                        game.ExecuteMovement(origin, destiny);
                    }
                    catch (BoardException e)
                    {
                        Console.WriteLine(e.Message);
                        Console.ReadLine();
                    }
                }
                Console.Clear();
                Screen.ShowGame(game);
            }
            catch (BoardException e)
            {
                Console.WriteLine(e.Message);
            }

            Console.ReadLine();
        }
        private static void Main(string[] args)
        {
            try
            {
                var match = new ChessMatch();

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

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

                        bool[,] possibleMoves = match.Board.GetPiece(origin).PossibleMoves();

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

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

                        match.ExecutePlay(origin, destination);
                    }
                    catch (BoardException ex)
                    {
                        Console.WriteLine(ex.Message);
                        Console.ReadKey();
                    }
                    Console.Clear();
                    Screen.PrintMatch(match);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
            Console.ReadLine();
        }
Exemple #16
0
        static void Main(string[] args)
        {
            try
            {
                ChessMatch chessMatch = new ChessMatch();
                while (!chessMatch.End)
                {
                    try
                    {
                        Console.Clear();
                        Display.printMatch(chessMatch);

                        Console.WriteLine();
                        Console.Write("Move From: ");
                        Coordinate moveFrom = Display.BoardMapping().ToCoordinate();
                        chessMatch.IsValidMoveFrom(moveFrom);

                        bool[,] avaliableMovement = chessMatch.ChessBoard.PieceOnBoard(moveFrom).PieceMoveSet();

                        Console.Clear();
                        Display.printAvaliableCoordinatesToMove(chessMatch.ChessBoard, avaliableMovement);

                        Console.WriteLine();
                        Console.Write("Move To: ");
                        Coordinate moveTo = Display.BoardMapping().ToCoordinate();
                        chessMatch.IsValidMoveTo(moveFrom, moveTo);
                        chessMatch.ShiftManager(moveFrom, moveTo);
                    }
                    catch (ChessConsoleException e)
                    {
                        Console.WriteLine(e.Message);
                        Console.ReadLine();
                    }
                }
                Console.Clear();
                Display.printMatch(chessMatch);
            }
            catch (ChessConsoleException e)
            {
                Console.WriteLine(e.Message);
            }
            Console.ReadLine();
        }
 public static void ShowGame(ChessMatch game)
 {
     ShowBoard(game.brd);
     Console.WriteLine();
     ShowCapturedPieces(game);
     Console.WriteLine();
     Console.WriteLine("Turn: " + game.turn);
     if (!game.finished)
     {
         Console.WriteLine("Waiting for the player : " + game.currentPlayer);
         if (game.check)
         {
             Console.WriteLine("Check!");
         }
     }
     else
     {
         Console.WriteLine("Checkmate!");
         Console.WriteLine("Winner: " + game.currentPlayer);
     }
 }
Exemple #18
0
 public static void printMatch(ChessMatch match)
 {
     printBoard(match.board);
     Console.WriteLine();
     printPiecesTaken(match);
     Console.WriteLine();
     Console.WriteLine("Turno: " + match.move);
     if (!match.gameOver)
     {
         Console.WriteLine("Aguardando Jogada: " + match.currentPlayer);
         if (match.check)
         {
             Console.WriteLine("XEQUE!");
         }
     }
     else
     {
         Console.WriteLine("XEQUEMATE!");
         Console.WriteLine("Vencedor: " + match.currentPlayer);
     }
 }
Exemple #19
0
 public static void printMatch(ChessMatch chessmatch)
 {
     printChessBoard(chessmatch.ChessBoard);
     Console.Write(Environment.NewLine);
     PrintCapturedPiece(chessmatch);
     Console.WriteLine();
     Console.WriteLine("Shift: " + chessmatch.Shift);
     if (!chessmatch.End)
     {
         Console.WriteLine("Waiting Move: " + chessmatch.CurrentPlayer);
         if (chessmatch.Check)
         {
             Console.WriteLine("CHECK!");
         }
     }
     else
     {
         Console.WriteLine("CHECKMATE!");
         Console.WriteLine("Winner: " + chessmatch.CurrentPlayer);
     }
 }
Exemple #20
0
 public static void PrintMatch(ChessMatch chessMatch, List <ChessPiece> captured)
 {
     PrintBoard(chessMatch.Pieces);
     Console.WriteLine();
     PrintCapturedPieces(captured);
     Console.WriteLine();
     Console.WriteLine("Turn: " + chessMatch.Turn);
     if (!chessMatch.Checkmate)
     {
         Console.WriteLine("Waiting player: " + chessMatch.CurrentPlayer);
         if (chessMatch.Check)
         {
             Console.WriteLine("CHECK!");
         }
     }
     else
     {
         Console.WriteLine("CHECKMATE!");
         Console.WriteLine("Winner: " + chessMatch.CurrentPlayer);
     }
 }
Exemple #21
0
        static void Main(string[] args)
        {
            try {
                ChessMatch match = new ChessMatch();

                while (!match.gameOver)
                {
                    try {
                        Console.Clear();
                        Display.printMatch(match);
                        Console.WriteLine();

                        Console.Write("Origem: ");
                        Position origin = Display.getChessPosition().toPosition();
                        match.validOriginPosition(origin);

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

                        Console.Clear();
                        Display.printBoard(match.board, possibleMoves);

                        Console.WriteLine();
                        Console.Write("Destino: ");
                        Position destination = Display.getChessPosition().toPosition();
                        match.validDestinationPosition(origin, destination);

                        match.executePlay(origin, destination);
                    }
                    catch (BoardException e) {
                        Console.WriteLine(e.Message);
                    }
                }
                Console.Clear();
                Display.printMatch(match);
                Console.ReadLine();
            } catch (BoardException e) {
                Console.WriteLine(e.Message);
                Console.ReadLine();
            }
        }
Exemple #22
0
        public static void printMatch(ChessMatch match)
        {
            PrintBoard(match.board);

            Console.WriteLine();
            printCapturedPieces(match);

            Console.WriteLine($"\nTurno: {match.turn}");

            if (!match.end)
            {
                Console.WriteLine($"Aguardando Jogada de: {match.currentPlayer}");
                if (match.adversaryCheck)
                {
                    Console.WriteLine("XEQUE!");
                }
            }
            else
            {
                Console.WriteLine("XEQUEMATE!!");
                Console.WriteLine($"Vencedor: {match.currentPlayer}");
            }
        }
Exemple #23
0
        static void Main(string[] args)
        {
            //padrao de camadas - tabuleiro, jogo de xadrez, aplicação
            try {
                ChessMatch match = new ChessMatch();

                while (!match.Finish)
                {
                    Console.Clear();
                    Screen.printTray(match.board);

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

                    Console.Write("\nDestino: ");
                    Position destiny = Screen.ReadChessPosition().ToPosition();

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