修正偶数格子宽时的history_mazes,去重history_mazes

This commit is contained in:
Guanforever 2025-06-30 13:12:04 +08:00
parent 2d9e17fa59
commit 412813db95

View File

@ -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):
@ -266,6 +270,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):
"""检查迷宫是否连通(深度优先搜索)"""
@ -368,7 +373,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()
main()