/// <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]); }
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); } }
/// <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); } }