public IActionResult TryLetter(GameModel model) { var manager = GetManager(); if (model.LetterToTry.Length == 1) { manager.ProbarLetra(model.LetterToTry); } else { manager.ArriesgarPalabra(model.LetterToTry); } ViewBag.Finalizo = manager.Finalizo; ViewBag.LetrasAcertadas = manager.LetrasAcertadas; if (manager.Finalizo) { ViewBag.Message = manager.Resultado.Estado == EstadoJuego.Victoria ? $"El jugador: {manager.Resultado.Jugador.Nombre} ha ganado la partida" : $"El jugador: {manager.Resultado.Jugador.Nombre} ha perdido la partida"; } MemoryStorageHelper.AddOrReplace($"{HttpContext.Session.Id}_{Constants.GameManagerKey}", manager); return(View("~/Views/Game.cshtml")); }
public IActionResult Start(StartModel model) { var player = new Jugador(model.PlayerName, model.SecretWord); var gameManager = new GameManager(player); MemoryStorageHelper.AddOrReplace($"{HttpContext.Session.Id}_{Constants.GameManagerKey}", gameManager); return(RedirectToAction("Index", "Game")); }
private GameManager GetManager() => MemoryStorageHelper.GetAs <GameManager>($"{HttpContext.Session.Id}_{Constants.GameManagerKey}");