Exemplo n.º 1
0
        static void Main(string[] args)
        {
            try
            {
                Game Game = new Game();

                while (!Game.EndGame)
                {
                    try
                    {
                        Console.Clear();
                        Screen.PrintGame(Game);

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

                        bool[,] positionPossible = Game.Board.Piece(origin).PossibleMoviment();
                        Console.Clear();
                        Screen.PrintBoard(Game.Board, positionPossible);

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

                        Game.DoMove(origin, destination);
                    }
                    catch (BoardException e)
                    {
                        Console.WriteLine(e.Message);
                        Console.ReadLine();
                    }
                }
            }
            catch (BoardException e)
            {
                Console.WriteLine(e.Message);
            }
        }
Exemplo n.º 2
0
        public static void PrintMatch(ChessMatch match)
        {
            Screen.PrintBoard(match.Board);
            Console.WriteLine();
            PrintCapturedPieces(match);
            Console.WriteLine();
            Console.WriteLine("Turn: " + match.Turn);

            if (!match.EndedMatch)
            {
                Console.WriteLine("Waiting for movement: " + match.ActualPlayer);
                if (match.Check)
                {
                    Console.WriteLine("Check!");
                }
            }
            else
            {
                Console.WriteLine("Checkmate!");
                Console.WriteLine("Winner: " + match.ActualPlayer);
            }
        }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            try {
                ChessMatch Match = new ChessMatch();

                while (!Match.Ended)
                {
                    try {
                        Console.Clear();
                        Screen.PrintMatch(Match);

                        Console.WriteLine();
                        Console.Write("Origem: ");
                        Position origin = Screen.ReadPosition().ConvertPosition();
                        Match.ValidOriginPosition(origin);

                        bool[,] possibleMoves = Match.Board.Piece(origin).PossibleMoves();

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

                        Console.WriteLine();
                        Console.Write("Destino: ");
                        Position destiny = Screen.ReadPosition().ConvertPosition();
                        Match.ValidDestinyPosition(origin, destiny);
                        Match.MakePlay(origin, destiny);
                    } catch (BoardException e) {
                        Console.WriteLine(e.Message);
                        Console.ReadLine();
                    }
                }
                Console.Clear();
                Screen.PrintMatch(Match);
            }  catch (BoardException e) {
                Console.WriteLine(e.Message);
            }
        }