public ActionResult <Reader> Get(int id)
        {
            var reader = _readerService.Read(id);

            if (reader == null)
            {
                return(NotFound());
            }
            return(new ObjectResult(reader));
        }
Beispiel #2
0
        public void Start()
        {
            _writerService.WriteLine("Welcome to snake game!");

            while (true)
            {
                if (_game != null)
                {
                    break;
                }

                _writerService.WriteLine("Press enter to start. Type help to get help for the game!");

                var input = _readerService.Read().ToLower();

                var result = _loadSettingsStrategyFactory
                             .GetStrategy(input)
                             .LoadSettings();
                if (!result.Loaded || result.GameSettings == null)
                {
                    continue;
                }

                _cancellationToken = new CancellationTokenSource();
                _gameSettings      = result.GameSettings;
                _game = BeginGame(_gameSettings, PauseTokenSource.Token, _cancellationToken.Token);
                Task.WaitAll(_game);

                _writerService.Clear();
                _highLevelEventsService.Stop();
                _writerService.WriteLine("You just died. If you want to restart press r");
                var readInfo = _readerService.Read();
                if (readInfo.ToLower() != "r")
                {
                    break;
                }

                _game  = null;
                _score = 0;
            }
        }
Beispiel #3
0
        public LoadSettingsStrategyResult LoadSettings()
        {
            var savedSettings      = _settingsLoader.FindSettings();
            var savedSettingsCount = savedSettings.Count();

            if (savedSettings == null || savedSettingsCount == 0)
            {
                _writerService.WriteLine("Saved settings cannot be found! The game will start with the default settings!");
                return(new LoadSettingsStrategyResult());
            }

            int index = 1;

            _writerService.WriteLine("Index | Settings name");
            foreach (var item in savedSettings)
            {
                _writerService.WriteLine($"{index:D5} | {item}");
                index++;
            }

            bool isFirstRun = true;

            while (true)
            {
                _writerService.WriteLine("Type the index of file with saved settings from the files written above and press enter!");
                if (!isFirstRun)
                {
                    _writerService.WriteLine("If you want to start with default settings press enter!");
                }

                var input = _readerService.Read();
                if (string.IsNullOrWhiteSpace(input))
                {
                    return(new LoadSettingsStrategyResult());
                }


                if (int.TryParse(input, out int idx) && 0 < idx && idx <= savedSettingsCount)
                {
                    return(new LoadSettingsStrategyResult {
                        Loaded = true, GameSettings = _settingsLoader.Load(idx - 1)
                    });
                }

                _writerService.WriteLine("Invalid input please try again!");

                isFirstRun = false;
            }
        }
Beispiel #4
0
        public LoadSettingsStrategyResult LoadSettings()
        {
            while (true)
            {
                _writerService.WriteLine("To change the default speed please enter number between 1 and 16 or press enter. The default speed is 1:");
                var inp = _readerService.Read();
                if (!int.TryParse(inp, out int speed) || speed < 1 || speed > 16)
                {
                    _writerService.WriteLine("Invalid input! Please try again!");
                    continue;
                }

                return(new LoadSettingsStrategyResult
                {
                    GameSettings = new GameSettings
                    {
                        Speed = speed
                    },
                    Loaded = true
                });
            }
        }
 public void ReadFromFile(IReaderService readerService)
 {
     _animals = readerService.Read();
 }