Example #1
0
        public void Join(string name)
        {
            int x = 0;
            int y = 0;

            string   clientId = Context.ConnectionId;
            MazeGame game     = this.mazeModel.JoinGame(name, clientId);
            string   hostId   = game.Host;

            MazeLib.Maze maze       = game.Maze;
            string       jsonedMaze = game.GameToString();


            MazeParam partialMaze = new MazeParam();

            partialMaze.Name    = maze.Name;
            partialMaze.Rows    = maze.Rows;
            partialMaze.Cols    = maze.Cols;
            partialMaze.GoalPos = maze.GoalPos.ToString();
            Converters.PositionConverter.ConvertPos(ref x, ref y, partialMaze.GoalPos);
            partialMaze.GoalPosRow = x;
            partialMaze.GoalPosCol = y;

            partialMaze.InitialPos = maze.InitialPos.ToString();
            Converters.PositionConverter.ConvertPos(ref x, ref y, partialMaze.InitialPos);
            partialMaze.InitialPosRow = x;
            partialMaze.InitialPosCol = y;
            JObject jmaze = JObject.Parse(maze.ToJSON());

            partialMaze.AsString = jmaze.GetValue("Maze").ToString();

            Clients.Client(clientId).joinGame(partialMaze);
            Clients.Client(hostId).joinGame(partialMaze);
        }
Example #2
0
        public IHttpActionResult CreateMaze(MazeParam partialMaze)
        {
            try
            {
                int x = 0;
                int y = 0;

                MazeLib.Maze maze = this.mazeModel.Generate
                                        (partialMaze.Name, partialMaze.Rows, partialMaze.Cols);

                partialMaze.GoalPos = maze.GoalPos.ToString();
                Converters.PositionConverter.ConvertPos(ref x, ref y, partialMaze.GoalPos);
                partialMaze.GoalPosRow = x;
                partialMaze.GoalPosCol = y;

                partialMaze.InitialPos = maze.InitialPos.ToString();
                Converters.PositionConverter.ConvertPos(ref x, ref y, partialMaze.InitialPos);
                partialMaze.InitialPosRow = x;
                partialMaze.InitialPosCol = y;
                JObject jmaze = JObject.Parse(maze.ToJSON());
                partialMaze.AsString = jmaze.GetValue("Maze").ToString();


                return(Ok(JObject.Parse(partialMaze.ToJson())));
            }
            catch (ArgumentException)
            {
                // Content bla bla BadRequest blabla
                return(NotFound());
            }
        }