写一个扫雷小游戏
```python
# 扫雷游戏
import random
def find_mine(x, y, mine_map):
if x < 0 or x > len(mine_map[0]) - 1 or y < 0 or y > len(mine_map) - 1: # 越界检测,不在范围内则返回0(无雷)
return 0
if mine_map[y][x] == '*': # 如果是雷,则返回1(有雷)
return 1
count = 0 # 计算周围8个格子有多少个雷
for i in range(-1, 2): # 遍历周围8个格子的坐标位置 (x-1,y-1), (x-1,y), (x-1,y+1), ... , (x+1,y+1)
for j in range(-1, 2): # 将上面的坐标位置传入find_mine函数中去判断此处是否存在雷,存在就加一。注意不能将自己传入函数中去判断。
if not (i == 0 and j == 0): # 排除自己的情况。即不能将自己传入函数中去判断。如果是自己本来就是'*'也不用考虑了。直接return 1. 因为上面的if语句里已经return了。所以这里可以省略else. 直接if语句即可.
count += find_mine(x + i , y + j , mine_map)
return count
def main(): # 游戏开始前要生成地图并显示地图信息
row = 10 # 行数 10行 row = 10 row = int(input("行数:")) input()函数用于从键盘读入一行信息并返回一个字符串 int()函数用于将字符串转化成int型 生成10行10列的地形 生成10血10列的场景 生成10×10大小的方形 生成10×10大小的方格 生成9×9大小的方形 生成9×9大小的方格 column = 10 column = 10 column=int(input("列数:")) input()函数用于从键盘读入一行信息并返回一个字符串 int()函数用于将字符串转化成int型 nums=20 nums=20 nums=int(input("雷总量:")) input()函数用于从键盘读入一行信息并返回一
创作工场
免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。
点击这里>>使用🔥专业版,更聪明、更完整、更原创!