扫雷提示器

在这个经典的扫雷游戏中,你需要实现一个算法来分析每个格子包含地雷的概率,辅助玩家完成游戏。

游戏规则

  • 游戏区域由 n×n 个方格组成,其中隐藏了一定数量的地雷
  • 点击方格会揭示该方格的内容,如果是地雷则游戏结束
  • 非地雷方格会显示周围8个方格中地雷的数量
  • 如果周围没有地雷,则自动揭示周围的方格
  • 右键点击可以标记/取消标记可能的地雷位置

你的任务

实现一个 autoSweeper 函数,该函数通过分析游戏状态,计算每个未打开格子包含地雷的概率,并通过 setProbability 方法标记在界面上。

可用方法

  • gameController.getVisibleBoard(): 获取当前可见的游戏板状态
  • gameController.setProbability(row, col, probability): 设置地雷概率,probability 为 0-100 的浮点数
  • gameController.getRemainingMinesCount(): 获取剩余未标记的地雷数量

返回值说明

getVisibleBoard() 方法返回一个二维数组,数组中的每个数字代表以下状态:

  • 0: 未打开的单元格
  • 1: 标记为旗子的单元格
  • 2: 标记为问号的单元格
  • 10: 已打开且周围没有地雷的单元格
  • 11-18: 已打开的单元格,数字表示周围地雷的数量(如11表示周围有1个地雷)

祝你好运!