修正偶数格子宽时的history_mazes,去重history_mazes
This commit is contained in:
parent
2d9e17fa59
commit
412813db95
@ -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()
|
||||
|
Loading…
Reference in New Issue
Block a user