예제 #1
0
        /// <summary>
        /// Returns a maze by its name
        /// </summary>
        /// <param name="name">Maze name</param>
        /// <returns>Maze or null</returns>
        public Maze GetMaze(string name)
        {
            if (string.IsNullOrEmpty(name) || !Mazes.ContainsKey(name))
            {
                return(null);
            }

            return(Mazes[name]);
        }
예제 #2
0
        public Maze GenerateMaze(string name, int rows, int cols)
        {
            Maze m;

            if (Mazes.ContainsKey(name))
            {
                return(null);
            }
            else
            {
                IMazeGenerator mg = new DFSMazeGenerator();
                m = mg.Generate(rows, cols);
                return(m);
            }
        }
예제 #3
0
        /// <summary>
        /// create a maze, save and return it
        /// </summary>
        /// <param name="name">the name of the maze</param>
        /// <param name="rows">num of rows</param>
        /// <param name="cols">num of column</param>
        /// <returns></returns>
        public Maze GenerateMaze(string name, int rows, int cols)
        {
            Maze m;

            if (Mazes.ContainsKey(name))
            {
                //print error - this maze exist
                return(null);
            }
            else
            {
                IMazeGenerator mg = new DFSMazeGenerator();
                m      = mg.Generate(rows, cols);
                m.Name = name;
                this.Mazes.Add(name, m);
                return(m);
            }
        }