예제 #1
0
        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"));
        }
예제 #2
0
        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"));
        }
예제 #3
0
 private GameManager GetManager() => MemoryStorageHelper.GetAs <GameManager>($"{HttpContext.Session.Id}_{Constants.GameManagerKey}");