google minesweeper bot
1.0.0
使用此脚本击败 Google 的扫雷游戏。必要的库: numpy 、 opencv2 、 pyautogui 。
使用以下命令下载该项目:
https://github.com/EnriqueMoran/google-minesweeper-bot.git
接下来,使用以下命令安装必要的库:
pip install pyautogui opencv-python numpy
安装完成后,右键单击minesweeper.py 文件并使用IDLE 对其进行编辑。打开googleminesweeper游戏并确保游戏窗口完全可见,然后单击python IDLE并按F5。
注意:第一次运行脚本时将打开一个新窗口,该窗口可能会放置在游戏窗口上,只需移出并调整其大小即可。
重要提示:如果您需要中止脚本的执行,请将鼠标放在屏幕的左上角。
每次移动时都会截取屏幕截图,并且识别每个非绿色的单元格(非未知单元格)。
接下来,检查每个单元格是否在其任何相邻单元格上放置标志。使用的算法如下:
如果标记的相邻单元格的数量小于检查单元格的分数,并且未知相邻单元格的数量加上标记的单元格的数量小于分数,则在任何未知相邻单元格上放置标记。
如果标记的相邻单元格的数量等于分数并且未知相邻单元格的数量大于 0,则单击其中任何一个。
如果没有任何单元格对任何操作都有效,则会单击随机的未知单元格。
一旦没有剩余的标志,游戏就会失败并且脚本停止。如果点击随机单元格时游戏失败,如果识别到得分窗口,脚本也会停止。
在 v1.0 上,性能取决于速度参数,该参数设置脚本在单击单元格以获取新屏幕截图后等待的时间。
速度 | 诺游戏 | 轻松获胜/失败 | 正常获胜/失败 | 艰难的胜利/失败 | 简单平均。时间 | 正常 平均时间 | 硬平均。时间 |
---|---|---|---|---|---|---|---|
0.05 | 10 | 9/1 | 5/5 | 3/7 | 27.55 | 258.6 | 第854章 |
0.10 | 10 | 8/2 | 8/2 | 0/10 | 28.875 | 235.83 | - |
0.15 | 10 | 9/1 | 10/0 | 2/8 | 27.2 | 214.66 | 812.5 |
在 v1.2 上,不再使用 opencv2 模板匹配。分数是根据像素颜色获得的。简单和普通难度的速度性能得到了提高。添加规则以在必须随机单击时应用。
速度 | 诺游戏 | 轻松获胜/失败 | 正常获胜/失败 | 艰难的胜利/失败 | 简单平均。时间 | 正常 平均时间 | 硬平均。时间 |
---|---|---|---|---|---|---|---|
0.015 | 10 | 8/2 | 4/6 | 0/10 | 11.25 | 42 | - |
0.05 | 10 | 7/3 | 5/5 | 1/9 | 11.28 | 44.6 | 113 |
添加随机点击规则。