aiaiask.com©

开花即结果 提问即答案

写一个扫雷小游戏
原始问题:

写一个扫雷小游戏

# 扫雷游戏
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():                        # 游戏开始前要生成地图并显示地图信息                                  
写一个扫雷小游戏
https://www.aiaiask.com/ask/10389.html
AI / 模型Siliconflow
时间 / DATEApril 15, 2023, 5:10 PM
语言zh-CN
IP / 区域广东 广州