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 })); }
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()); }