public async Task <ActionResult> OnGet(int?gameId, int?col, int?row, bool flag) { if (gameId == null) { return(RedirectToPage("./GameIndex")); } GameId = gameId.Value; Flag = flag; Game = GameStateHandler.LoadGameFromDb(GameId); if (Game == null) { return(RedirectToPage("./GameIndex")); } if (col != null && row != null) { var lost = Game.Move(row.Value, col.Value, Flag); if (!lost) { Game.CheckIfGameWon(); } await GameStateHandler.SaveGameToDb(Game, Game.Name); } return(Page()); }
public IActionResult OnGetStartSameGame(int?gameId) { if (gameId != null) { GameId = gameId.Value; } Game = GameStateHandler.LoadGameFromDb(GameId); var game = new Game(Game.BoardHeight, Game.BoardWidth, Game.MinesAmount, Game.Name); GameStateHandler.DeleteFromDbUsingId(GameId); GameStateHandler.SaveGameToDb(game, game.Name); return(RedirectToPage("./GameRunner", new { gameId = game.DbId })); }