Exemplo n.º 1
0
        public async Task Run(IList <ICommand> commands)
        {
            _parserService.Commands = commands;

            var gameState = new GameState
            {
                GameRunning = true,
                World       = await _worldFactory.Get()
            };

            this.Introduction(gameState);

            while (gameState.GameRunning)
            {
                var playerInput = Console.ReadLine();
                if (string.IsNullOrEmpty(playerInput) == false)
                {
                    var result = await _parserService.ParseInput(playerInput, gameState);

                    gameState.TurnCounter++;
                    _displayService.UpdateDisplay(gameState, result);
                }
            }
        }