コード例 #1
0
        public IActionResult MazeStep(string drc)
        {
            if (!_levelProcessRepository.CheckAuthority(Request.Cookies["token"], 10) ||
                (drc != "n" && drc != "s" && drc != "w" && drc != "e"))
            {
                return(new JsonResult(new { status = "Fail" }));
            }

            Maze.Direction direction = Maze.Direction.Unknown;
            switch (drc)
            {
            case "n": direction = Maze.Direction.UP; break;

            case "s": direction = Maze.Direction.DOWN; break;

            case "w": direction = Maze.Direction.LEFT; break;

            case "e": direction = Maze.Direction.RIGHT; break;
            }

            Maze.Edges edges = (Maze.Edges)_mazeProcessRepository.GetCurState(Request.Cookies["token"]).walls;

            if (direction.HasFlag(Maze.Direction.Unknown) || edges.HasFlag((Maze.Edges)(int) direction))
            {
                return(new JsonResult(new { status = "Fail" }));
            }

            int newedges = _mazeProcessRepository.Step(Request.Cookies["token"], direction);

            return(new JsonResult(new { status = "Success", newedges }));
        }
コード例 #2
0
 public IActionResult Maze()
 {
     if (_levelProcessRepository.CheckAuthority(Request.Cookies["token"], 11))
     {
         _logger.LogInformation("===LEVEL===> [" + Request.Cookies["token"].Substring(0, 6) + "]@"
                                + HttpContext.Connection.RemoteIpAddress.MapToIPv4().ToString() + " => [LEVEL#Maze] SUCCESS.");
         ViewBag.state = _mazeProcessRepository.GetCurState(Request.Cookies["token"]);
         return(View());
     }
     return(new NotFoundResult());
 }