用python写一段走51*51的迷宫的代码
时间: 2024-02-13 15:59:46 浏览: 102
以下是一个使用 Python 实现走 51*51 迷宫的示例代码:
```python
import random
# 定义迷宫大小
n = 51
# 创建空白迷宫
maze = [[0] * n for i in range(n)]
# 随机生成迷宫障碍物
for i in range(n):
for j in range(n):
if random.random() < 0.3:
maze[i][j] = 1
# 定义起点和终点
start = (0, 0)
end = (n-1, n-1)
# 定义队列和路径字典
queue = [start]
path_dict = {start: [start]}
# 遍历队列中的节点,直到找到终点或队列为空
while queue:
current = queue.pop(0)
if current == end:
break
x, y = current
for i, j in [(x+1, y), (x-1, y), (x, y+1), (x, y-1)]:
if 0 <= i < n and 0 <= j < n and not maze[i][j] and (i, j) not in path_dict:
queue.append((i, j))
path_dict[(i, j)] = path_dict[current] + [(i, j)]
# 输出路径
if end in path_dict:
print(path_dict[end])
else:
print("No path found.")
```
该代码使用了 BFS 算法,随机生成了一个大小为 51*51 的迷宫,并从左上角开始寻找到达右下角的路径。
运行结果会输出一个从起点到终点的路径列表,该列表表示了从起点到终点的路径,其中每个元素表示一个坐标点。如果找不到路径,会输出 "No path found."。
阅读全文