public void Start() { try { _logger.LogInformation($"Запущен сервис игры {nameof(GameManagerService)}"); //Вытягивание настроек из конфига IConfiguration appConfiguration = new ConfigurationBuilder().AddJsonFile("gameboardsettigs.json").Build(); GameBoardSettings gameBoardSettings = new GameBoardSettings(); appConfiguration.Bind(gameBoardSettings); //Добавление змейку в центр поля Point middlePoint = new Point(gameBoardSettings.GameBoardSize.Width / 2, gameBoardSettings.GameBoardSize.Height / 2); Snake snake = new Snake(middlePoint, gameBoardSettings.InitialSnakeLength); //Добавление еды на поле Food food = new Food(); food.GenerateFood(snake.Points, gameBoardSettings.GameBoardSize); //Создание игры this.Game = new GameManager(snake, food, gameBoardSettings, Direction.Top, _logger); //запуск таймера для совершения шагов в игре this._timer = new Timer( DoWork, null, TimeSpan.FromMilliseconds(gameBoardSettings.TimeUntilNextTurnMilliseconds), TimeSpan.FromMilliseconds(gameBoardSettings.TimeUntilNextTurnMilliseconds)); } catch (Exception ex) { _logger.LogError(ex, $"Ошибка при старте {nameof(GameManagerService)}"); } }
public void Setup() { this.mockLogger = new Mock <ILogger>(); gameBoardSettings = new GameBoardSettings { GameBoardSize = new Size { Height = 20, Width = 20 }, InitialSnakeLength = 2, TimeUntilNextTurnMilliseconds = 600, }; }
public void GameBoardSettings_ShouldReturnCorrectSettings() { //Arrange GameManager gameManager = new GameManager( new Snake(), new Food(), this.gameBoardSettings, Direction.Top, this.mockLogger.Object); //Act GameBoardSettings resultBoard = gameManager.GameBoardSettings; //Assert Assert.AreEqual(this.gameBoardSettings.GameBoardSize.Height, resultBoard.GameBoardSize.Height); Assert.AreEqual(this.gameBoardSettings.GameBoardSize.Width, resultBoard.GameBoardSize.Width); Assert.AreEqual(this.gameBoardSettings.InitialSnakeLength, resultBoard.InitialSnakeLength); Assert.AreEqual(this.gameBoardSettings.TimeUntilNextTurnMilliseconds, resultBoard.TimeUntilNextTurnMilliseconds); }