Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Welcome to ludo");
            var ludoGame = new LudoGame(new Diece());

            AddPlayers(ludoGame);
            var gameIsStarted = ludoGame.StartGame();

            if (!gameIsStarted)
            {
                Console.WriteLine("Game NOT started");
                Console.Write("Press any key to exit!");
                Console.ReadKey();
                System.Environment.Exit(1);
            }
            Console.WriteLine("Game started");
            do
            {
                Console.WriteLine();
                var currentPlayer = ludoGame.GetCurrentPlayer();
                Console.WriteLine($"Current player is {currentPlayer.Name}");
                var dieceResult = ludoGame.RollDiece();
                Console.WriteLine($"Diece roll gave: {dieceResult}");
                Console.WriteLine("Choose which piece to move:");
                foreach (var piece in currentPlayer.Pieces)
                {
                    if (piece.State == PieceGameState.Goal)
                    {
                        continue;
                    }

                    Console.WriteLine($"{piece.PieceId}. located in {piece.State} at {piece.Position}");
                }
                var pieceNr = Console.ReadLine();
                int.TryParse(pieceNr, out int pieceIdToMove);
                ludoGame.MovePiece(currentPlayer, pieceIdToMove, dieceResult);
                ludoGame.EndTurn(currentPlayer);
            } while (ludoGame.GetWinner() == null);

            Console.WriteLine($"{ludoGame.GetWinner().Name} is the winner!!!");

            Console.Write("Press any key to exit!");
            Console.ReadKey();
        }