示例#1
0
        public IActionResult Index()
        {
            if (HttpContext.Session.GetObjectFromJson <dachi>("DachiData") == null)
            {
                HttpContext.Session.SetObjectAsJson("DachiData", new dachi());
            }

            // Retrieve Dachi and set it into ViewBag to display on Front End
            dachi myDachi = HttpContext.Session.GetObjectFromJson <dachi>("DachiData");

            ViewBag.myDachi = myDachi;

            if (ViewBag.myDachi.fullness < 1 || ViewBag.myDachi.happiness < 1)
            {
                ViewBag.myDachi.actionMessage = "Your Dachi just died...";
                myDachi.loseStatus            = true;
                HttpContext.Session.SetObjectAsJson("DachiData", myDachi);
            }
            if (ViewBag.myDachi.fullness > 100 && ViewBag.myDachi.happiness > 100 && ViewBag.myDachi.energy > 100)
            {
                myDachi.winStatus             = true;
                ViewBag.myDachi.actionMessage = "Your Dachi has accomplished its task in life! You Win!";
                HttpContext.Session.SetObjectAsJson("DachiData", myDachi);
            }

            return(View());
        }
示例#2
0
        public JsonResult Play()
        {
            // Retrieve dachi
            dachi myDachi = HttpContext.Session.GetObjectFromJson <dachi>("DachiData");

            // Check if feed action is permitted
            if (myDachi.energy < 5)
            {
                myDachi.actionMessage = "You can't play with your Dachi. Your energy is too low!";
                HttpContext.Session.SetObjectAsJson("DachiData", myDachi);
                return(Json(myDachi));
            }

            // 1/4 chance that the Dachi won't want to play
            if (rand.Next(0, 5) == 0)
            {
                myDachi.energy       -= 5;
                myDachi.actionMessage = "Your Dachi doesn't want to play right now...";
                HttpContext.Session.SetObjectAsJson("DachiData", myDachi);
                return(Json(myDachi));
            }

            // Manipulate Dachi values
            myDachi.energy -= 5;
            int happinessGained = rand.Next(5, 11);

            myDachi.happiness    += happinessGained;
            myDachi.actionMessage = $"You played with your Dachi and it gained {happinessGained} Happiness!";

            // Save dachi in session
            HttpContext.Session.SetObjectAsJson("DachiData", myDachi);

            // Send dachi to front end
            return(Json(myDachi));
        }
示例#3
0
        public JsonResult Sleep()
        {
            dachi myDachi = HttpContext.Session.GetObjectFromJson <dachi>("DachiData");

            if (myDachi.fullness < 5 || myDachi.happiness < 5)
            {
                myDachi.actionMessage = "You cannot go to sleep with a hungry or a sad Dachi!";
                HttpContext.Session.SetObjectAsJson("DachiData", myDachi);
                return(Json(myDachi));
            }
            myDachi.happiness    -= 5;
            myDachi.fullness     -= 5;
            myDachi.energy       += 15;
            myDachi.actionMessage = "Your Dachi took a nap and gained 15 Energy!";
            HttpContext.Session.SetObjectAsJson("DachiData", myDachi);
            return(Json(myDachi));
        }
示例#4
0
        public JsonResult Work()
        {
            // Retrieve dachi
            dachi myDachi = HttpContext.Session.GetObjectFromJson <dachi>("DachiData");

            if (myDachi.energy < 5)
            {
                myDachi.actionMessage = "Your Dachi is too tired to work...";
                HttpContext.Session.SetObjectAsJson("DachiData", myDachi);
                return(Json(myDachi));
            }

            int mealsGained = rand.Next(1, 4);

            myDachi.meals        += mealsGained;
            myDachi.energy       -= 5;
            myDachi.actionMessage = $"Your Dachi worked really hard and earned {mealsGained} Meals!";
            HttpContext.Session.SetObjectAsJson("DachiData", myDachi);
            return(Json(myDachi));
        }
示例#5
0
        public IActionResult Index()
        {
            // "dachi" - key ,could name anything!
            // var status = HttpContext.Session.GetObjectFromJson<dachi>("dachi");
            if (HttpContext.Session.GetObjectFromJson <dachi>("dachi") == null)
            {
                var status = new dachi();
                HttpContext.Session.SetObjectAsJson("dachi", status);
                TempData["message"] = "Click the buttons below to play the game!";
                // ViewBag.Message = TempData["message"];
            }
            else
            {
                var status = HttpContext.Session.GetObjectFromJson <dachi>("dachi");

                if (status.Happiness <= 0)
                {
                    ViewBag.Win         = false;
                    TempData["message"] = "your dog is out of happiness and is dead! :() GAME OVER!";
                    // return View("Index");
                }
                if (status.Fullness <= 0)
                {
                    ViewBag.Win         = false;
                    TempData["message"] = "Your dog is out of Fullness and is dead! :( GAME OVER!";
                    // return View("Index");
                }

                if (status.Fullness >= 100 && status.Happiness >= 100 && status.Energy >= 100)
                {
                    ViewBag.Win         = true;
                    TempData["message"] = "You Won!!";
                    // return View("Index");
                }
            }
            ViewBag.Message = TempData["message"];
            ViewBag.MyDog   = HttpContext.Session.GetObjectFromJson <dachi>("dachi");
            return(View("Index"));
        }
示例#6
0
        public JsonResult Feed()
        {
            // Retrieve dachi
            dachi myDachi = HttpContext.Session.GetObjectFromJson <dachi>("DachiData");

            // Check if feed action is permitted
            if (myDachi.meals < 1)
            {
                myDachi.actionMessage = "You cannot feed your Dachi. You have no meals left!";
                HttpContext.Session.SetObjectAsJson("DachiData", myDachi);
                return(Json(myDachi));
            }

            // 1/4th chance that Dachi won't like the meal
            if (rand.Next(0, 5) == 0)
            {
                myDachi.meals        -= 1;
                myDachi.actionMessage = "Oh no! Your Dachi didn't like the meal you served.";
                HttpContext.Session.SetObjectAsJson("DachiData", myDachi);
                return(Json(myDachi));
            }

            // Manipulate dachi values
            myDachi.meals -= 1;
            int fullnessGained = rand.Next(5, 11);

            myDachi.fullness     += fullnessGained;
            myDachi.actionMessage = $"You fed your Dachi and it gained {fullnessGained} fullness!";

            // Save dachi in session
            HttpContext.Session.SetObjectAsJson("DachiData", myDachi);

            // Send dachi to front end
            ViewBag.DachiData = myDachi;
            return(Json(myDachi));
        }
        public IActionResult Process(string Activity)
        {
            dachi curDachi = HttpContext.Session.GetObjectFromJson <dachi>("dachi");

            if (Activity == "Feed")
            {
                curDachi.feed();
            }
            else if (Activity == "Work")
            {
                curDachi.work();
            }
            else if (Activity == "Play")
            {
                curDachi.play();
            }
            else if (Activity == "Sleep")
            {
                curDachi.sleep();
            }
            HttpContext.Session.SetObjectAsJson("dachi", curDachi);
            // ViewBag.dachi = curDachi;
            return(RedirectToAction("Index"));
        }