## get_window.py
def get_ranking_level(hwnd): # 根据窗口尺寸判断难度等级高级,中级,低级
def get_window_height_and_length(hwnd): # 根据难度等级返回长宽格子数目 (16,30) (16,16) (9,9)
def get_max_mines(hwnd): # 根据难度等级得到地雷数目 99 40 10
def get_rim(hwnd): # 获得扫雷区域的上下左右位置
## constant.py # 存储程序使用的常量
## keyboard_mouse.py # 用于进行鼠标键盘截图等与计算机进行的底层操作
def left_click(hwnd, left_distance, top_distance): # 单击左键一次
def right_click(hwnd, left_distance, top_distance): # 单击右键一次
def double_click(hwnd, left_distance, top_distance): # 左右键同时按下
def remake_f2(): # 按F2重新开始游戏
def get_left_top(hwnd): # 得到扫雷区域的左和上
def get_image(hwnd): # 得到扫雷区域的截图
## match.py
def get_corresponding_content(img, i, j): # 输入扫雷区域截图,和要检测的块坐标,返回该块的状态
## basic_operation.py
def refresh(hwnd, board): # 更新board中记录的整个扫雷区域的内容
def make_flag(left_distance, top_distance, board, hwnd, game_info): # 标红旗
def goon(left_distance, top_distance, board, hwnd): # 点开一个方块,然后获取更新后的扫雷区域
def remake(): # 按F2重新开始游戏
def open_surround(hwnd, j, i, board): # 通过双击坐标(i,j)打开其周围的方块,然后获取更新后的扫雷区域
## get_surround.py
def get_surround(board, left_distance, top_distance): # 获取周边方块状态和当前方格的值
def get_surround_detail(nums): # 统计周围的方格有多少没有标记、标旗、数字、NULL
## choose_next_click.py # 寻找下一个点击的位置
def choose_next_click(board, hwnd, game_info):
# 遍历整个board
# 当前方块为数字时
# 如果它周围都已经清楚了就跳过
# 如果数字和周围旗数相等则直接打开其他未动的块
# 如果数字等于它周围的旗数加上未动的块,则将这些未动的块都插上旗
# 如果遍历完整个区域上面的操作都没有执行则启动高级检测
def advanced(board, hwnd, game_info):
# 遍历整个board
# 当前方块为数字时
# 遍历其周围为数字方块,考虑两者的共同覆盖区域进行判断
# 如果遍历完整个区域上面的操作则随机点开一个
def random_click(board, hwnd, game_info): # 从所有周围没动方块最多的方块中随机点开一个
## game_end.py
def is_end(game_info, board): # 判断是否游戏结束,出现雷则游戏失败,所有雷都标旗且无未动格就胜利,否则判定游戏还未结束
## begin.py
def begin(hwnd, game_info):
# 初始化game_info游戏信息
# 初始化board矩阵用于保存扫雷每个点的信息,初始化为 NONE_DETECTED
# 按F2重新开始游戏
# 如果游戏没有结束就不断寻找下一个点击点
## main.py
if __name__ == '__main__':
begin(hwnd, game_info)