Merge branch 'main' of git.gangary.cn:gary/maze_python

This commit is contained in:
Gary Gan 2025-06-30 13:14:37 +08:00
commit 9dddc9363f

View File

@ -112,6 +112,10 @@ class MazeGenerator:
self.maze[end[0]][end[1]] = self.END self.maze[end[0]][end[1]] = self.END
self.special_elements.extend([(start[0], start[1], self.START), (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): 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 return self.history_mazes
def get_available_cells(self): def get_available_cells(self):
@ -270,6 +274,7 @@ class MazeGenerator:
self.maze[y][x] = self.WALL self.maze[y][x] = self.WALL
if not self.is_maze_connected(): if not self.is_maze_connected():
self.maze[y][x] = old # 恢复 self.maze[y][x] = old # 恢复
self.history_mazes.append([[__ for __ in _] for _ in self.maze])
def is_maze_connected(self): def is_maze_connected(self):
"""检查迷宫是否连通(深度优先搜索)""" """检查迷宫是否连通(深度优先搜索)"""
@ -372,7 +377,12 @@ def main():
if reader.read_from_csv(): if reader.read_from_csv():
print("\n读取的迷宫:") print("\n读取的迷宫:")
reader.print_maze() reader.print_maze()
for i in generator.get_history_mazes():
for j in i :
print(j)
print()
if __name__ == "__main__": if __name__ == "__main__":
main() main()