数据结构走迷宫游戏代码
时间: 2024-06-23 07:01:48 浏览: 10
数据结构中的走迷宫游戏通常涉及到图算法和搜索算法,特别是深度优先搜索(DFS)或广度优先搜索(BFS)。以下是一个简单的使用Python实现的迷宫游戏示例,使用邻接矩阵来表示迷宫:
```python
# 定义一个二维列表表示迷宫,0表示可以通过,1表示墙壁
maze = [
[0, 1, 0, 1, 0],
[0, 0, 0, 0, 0],
[0, 1, 0, 0, 0],
[1, 1, 0, 0, 1],
[0, 0, 1, 0, 0]
]
# 定义一个二维数组来记录路径
visited = [[False] * len(maze) for _ in range(len(maze))]
def is_valid(x, y):
return 0 <= x < len(maze) and 0 <= y < len(maze) and maze[x][y] == 0
def explore(x, y, path):
visited[x][y] = True
path.append((x, y))
if (x, y) == (len(maze)-1, len(maze)-1): # 到达终点
print("Path found:", path)
else:
# 试探向四个方向移动
for dx, dy in [(0, 1), (0, -1), (1, 0), (-1, 0)]:
nx, ny = x + dx, y + dy
if is_valid(nx, ny) and not visited[nx][ny]:
explore(nx, ny, path)
# 从起点开始探索
start_x, start_y = 0, 0 # 假设起始位置为左上角
explore(start_x, start_y, [])
```
在这个代码中,`is_valid` 函数用于检查当前位置是否有效,`explore` 函数是递归的搜索函数,尝试向四个方向移动,并更新路径。如果到达了迷宫的终点,就打印出路径。
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)