Esempio n. 1
0
        public IActionResult StartRound()
        {
            SessionCounter session = HttpContext.Session.Get <SessionCounter>("session_counter");

            if (session == null)
            {
                session = new SessionCounter();
            }

            WordGuessGame game = HttpContext.Session.Get <WordGuessGame>("current_game");

            if (game == null)
            {
                game = new WordGuessGame();
            }

            game.ReadyWord();
            ViewData["score"]       = session.Score;
            ViewData["roundNumber"] = session.NumberOfGamesAttempted + 1;

            HttpContext.Session.Set("session_counter", session);
            HttpContext.Session.Set("current_game", game);

            return(View("CurrentGame", game));
        }
Esempio n. 2
0
        public IActionResult MakePlay(int index)
        {
            WordGuessGame  game    = HttpContext.Session.Get <WordGuessGame>("current_game");
            SessionCounter session = HttpContext.Session.Get <SessionCounter>("session_counter");

            bool isGuessRight = game.DoesWordContainGuess(index);

            if (isGuessRight)
            {
                ViewData["isCorrectLetter"] = isGuessRight;
            }

            game.CompleteRound(index);
            bool isGameOver = game.IsGameOver();

            if (isGameOver)
            {
                session.ChangeScore(game.TallyRoundScore());
                session.IncrementNumberOfGamesAttempted();
                ViewData["score"] = session.Score;

                if (game.Counter.GuessesRemaining > 0)
                {
                    session.IncrementNumberOfGamesWon();
                    HttpContext.Session.Set("session_counter", session);
                    return(View("WinningMessage"));
                }
                else
                {
                    HttpContext.Session.Set("session_counter", session);
                    return(View("LosingMessage", game));
                }
            }
            else
            {
                HttpContext.Session.Set("current_game", game);
                HttpContext.Session.Set("session_counter", session);
                ViewData["score"]       = session.Score;
                ViewData["roundNumber"] = session.NumberOfGamesAttempted + 1;
                return(View("CurrentGame", game));
            }
        }