diff --git a/maze_generator.py b/maze_generator.py index 3131261..fb518fc 100644 --- a/maze_generator.py +++ b/maze_generator.py @@ -112,6 +112,10 @@ class MazeGenerator: self.maze[end[0]][end[1]] = self.END self.special_elements.extend([(start[0], start[1], self.START), (end[0], end[1], self.END)]) def get_history_mazes(self): + for idx,i in enumerate(self.history_mazes): + if i == self.history_mazes[idx-1]: + del self.history_mazes[idx] + return self.history_mazes def get_available_cells(self): @@ -270,6 +274,7 @@ class MazeGenerator: self.maze[y][x] = self.WALL if not self.is_maze_connected(): self.maze[y][x] = old # 恢复 + self.history_mazes.append([[__ for __ in _] for _ in self.maze]) def is_maze_connected(self): """检查迷宫是否连通(深度优先搜索)""" @@ -372,7 +377,12 @@ def main(): if reader.read_from_csv(): print("\n读取的迷宫:") reader.print_maze() + for i in generator.get_history_mazes(): + for j in i : + print(j) + print() if __name__ == "__main__": - main() \ No newline at end of file + main() + \ No newline at end of file