public IActionResult Index([FromBody] LevelName level) { if (!LevelRepo.Instance.ContainsLevel(level.Name)) { return(new BadRequestObjectResult("there is no such level")); } var gameId = Guid.NewGuid(); var game = GamesRepo.Instance.NewGame(gameId, level.Name); GameDto dto = new GameDto( GameDtoBuilder.BuildCells(game).ToArray(), true, true, game.Width, game.Height, gameId, false, 0); return(new ObjectResult(dto)); }
public IActionResult Moves(Guid gameId, [FromBody] UserInputForMovesPost userInput) { if (!GamesRepo.Instance.ContainsGame(gameId)) { return(new BadRequestObjectResult("game id is bad")); } var game = GamesRepo.Instance.GetGame(gameId); var dir = InputParser.GetDirection(userInput, game); if (dir is Game.Direction direction) { game.Move(direction); } var gameDto = new GameDto(GameDtoBuilder.BuildCells(game).ToArray(), true, true, game.Width, game.Height, gameId, game.IsGameFinished, game.Moves); return(new ObjectResult(gameDto)); }