用python写一个将迷宫转化成图像的函数,要求有宝藏
时间: 2024-01-24 14:20:14 浏览: 94
使用python绘制二元函数图像的实例
好的,我可以帮你写一个将迷宫转换成图像的函数,代码如下:
```python
from PIL import Image
def maze_to_image(maze, treasure):
"""
将迷宫转化成图像,并在图像中标记宝藏位置
:param maze: 迷宫,用 0 和 1 表示通路和墙壁,类型为二维列表
:param treasure: 宝藏位置,用两个整数表示横纵坐标,类型为元组
:return: 返回转化后的图像对象
"""
width = len(maze[0])
height = len(maze)
img = Image.new('RGB', (width, height), (255, 255, 255))
pixels = img.load()
for i in range(width):
for j in range(height):
if maze[j][i] == 0:
pixels[i, j] = (255, 255, 255) # 通路为白色
else:
pixels[i, j] = (0, 0, 0) # 墙壁为黑色
# 标记宝藏位置
pixels[treasure[1], treasure[0]] = (255, 0, 0) # 宝藏为红色
return img
```
使用示例:
```python
maze = [
[1, 1, 1, 1, 1],
[1, 0, 0, 0, 1],
[1, 0, 1, 0, 1],
[1, 0, 0, 0, 1],
[1, 1, 1, 1, 1]
]
treasure = (2, 2) # 宝藏位置为第 3 行第 3 列
img = maze_to_image(maze, treasure)
img.show()
```
输出结果如下所示,红色方块即为宝藏位置:
![](https://cdn.jsdelivr.net/gh/tsyccnh/images/20210902143502.png)
阅读全文