利用Python实现自动扫雷脚本,最高难度也难不倒我了

欢迎点击右上角关注小编,除了分享技术文章之外还有很多福利,私信学习资料可以领取包括不限于Python实战演练、PDF电子文档、面试集锦、学习资料等。

利用Python实现自动扫雷脚本,最高难度也难不倒我了

自动扫雷一般分为两种,一种是读取内存数据,而另一种是通过分析图片获得数据,并通过模拟鼠标操作,这里我用的是第二种方式。

一、准备工作

1.扫雷游戏

我是win10,没有默认的扫雷,所以去扫雷网下载

http://www.saolei.net/BBS/

利用Python实现自动扫雷脚本,最高难度也难不倒我了

推荐下我自己创建的Python学习交流群960410445,这是Python学习交流的地方!需要源码也可以进来哟~~~~

利用Python实现自动扫雷脚本,最高难度也难不倒我了

2.python 3

我的版本是 python 3.6.1

3.python的第三方库

win32api,win32gui,win32con,Pillow,numpy,opencv

可通过 pip install --upgrade SomePackage 来进行安装

注意:有的版本是下载pywin32,但是有的要把pywin32升级到最高并自动下载了pypiwin32,具体情况每个python版本可能都略有不同

我给出我的第三方库和版本仅供参考

利用Python实现自动扫雷脚本,最高难度也难不倒我了

二、关键代码组成

1.找到游戏窗口与坐标

利用Python实现自动扫雷脚本,最高难度也难不倒我了

2.锁定并抓取雷区图像

利用Python实现自动扫雷脚本,最高难度也难不倒我了

3.各图像的RGBA值

利用Python实现自动扫雷脚本,最高难度也难不倒我了

4.扫描雷区图像保存至一个二维数组map

利用Python实现自动扫雷脚本,最高难度也难不倒我了

5.扫雷算法

这里我采用的最基础的算法

1.首先点出一个点

2.扫描所有数字,如果周围空白+插旗==数字,则空白均有雷,右键点击空白插旗

3.扫描所有数字,如果周围插旗==数字,则空白均没有雷,左键点击空白

4.循环2、3,如果没有符合条件的,则随机点击一个白块

插旗

利用Python实现自动扫雷脚本,最高难度也难不倒我了

点击白块

利用Python实现自动扫雷脚本,最高难度也难不倒我了

随机点击

利用Python实现自动扫雷脚本,最高难度也难不倒我了

相关推荐