使用栈写一个迷宫旅行游戏的代码
时间: 2023-02-07 22:01:18 浏览: 99
迷宫游戏代码
5星 · 资源好评率100%
下面是使用栈来写一个迷宫旅行游戏的示例代码:
```
# 定义一个二维数组表示迷宫,1 表示障碍,0 表示可以通行
maze = [
[0, 0, 1, 0, 0],
[0, 0, 1, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 1, 0, 0],
[0, 0, 0, 0, 0]
]
# 定义四个方向(上、右、下、左)
dx = [0, 1, 0, -1]
dy = [-1, 0, 1, 0]
# 定义一个栈来保存搜索路径
stack = []
# 从起点 (0, 0) 开始搜索
x, y = 0, 0
stack.append((x, y))
while stack:
# 取出栈顶元素
x, y = stack.pop()
# 如果已经到达终点 (4, 4),则结束搜索
if x == 4 and y == 4:
break
# 标记当前点已经搜索过
maze[x][y] = 1
# 搜索上、右、下、左四个方向
for i in range(4):
nx, ny = x + dx[i], y + dy[i]
# 如果坐标 (nx, ny) 越界或者不能通行,则跳过
if nx < 0 or nx >= 5 or ny < 0 or ny >= 5 or maze[nx][ny] != 0:
continue
# 将坐标 (nx, ny) 压入栈中
stack.append((nx, ny))
# 输出最终的迷宫
for row in maze:
print(row)
```
这段代码的思路是:从起点 (0, 0) 开始搜索,每次从栈中取出栈顶元素,然后搜索它上、右、下、左四个方向,
阅读全文