python写一个扫雷游戏
时间: 2023-08-25 15:48:00 浏览: 86
以下是一个简单的Python扫雷游戏的代码示例:
```python
import random
# 游戏地图尺寸
width = 10
height = 10
# 地图数据
map_data = []
for i in range(height):
row = []
for j in range(width):
row.append(0)
map_data.append(row)
# 雷区数量
mine_count = 10
# 放置地雷
for i in range(mine_count):
x = random.randint(0, width - 1)
y = random.randint(0, height - 1)
while map_data[y][x] == 9:
x = random.randint(0, width - 1)
y = random.randint(0, height - 1)
map_data[y][x] = 9
# 计算周围雷的数量
for i in range(height):
for j in range(width):
if map_data[i][j] == 9:
continue
count = 0
for k in range(max(0, i - 1), min(height, i + 2)):
for l in range(max(0, j - 1), min(width, j + 2)):
if map_data[k][l] == 9:
count += 1
map_data[i][j] = count
# 输出地图
for i in range(height):
for j in range(width):
if map_data[i][j] == 9:
print("*", end="")
else:
print(map_data[i][j], end="")
print("")
# 游戏循环
while True:
# 输入坐标
x = int(input("请输入x坐标:"))
y = int(input("请输入y坐标:"))
# 判断是否踩雷
if map_data[y][x] == 9:
print("你踩雷了,游戏结束!")
break
# 显示周围雷的数量
print("周围有%d个雷" % map_data[y][x])
```
该扫雷游戏使用二维数组来存储地图数据,地雷用数字9表示,周围雷的数量用数字0到8表示。玩家可以通过输入坐标来翻开对应的格子,如果踩到了地雷,游戏结束,否则会显示周围雷的数量。通过循环来不断接受玩家的输入并判断游戏是否结束。
阅读全文