用python实现自动扫雷

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

我的版本是 python 3.6.1
python的第三方库:
win32api
win32gui
win32con
Pillow
numpy
opencv
可通过 pip install --upgrade SomePackage 来进行安装
注意:有的版本是下载pywin32,但是有的要把pywin32升级到最高并自动下载了pypiwin32,具体情况每个python版本可能都略有不同。最后,如果你的时间不是很紧张,并且又想快速的提高,最重要的是不怕吃苦,建议你可以联系维:762459510 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~

我给出我的第三方库和版本仅供参考
二、关键代码组成
1.找到游戏窗口与坐标
用python实现自动扫雷_第2张图片

2.锁定并抓取雷区图像

用python实现自动扫雷_第3张图片

3.各图像的RGBA值

用python实现自动扫雷_第4张图片

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

用python实现自动扫雷_第5张图片

5.扫雷算法

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

1.首先点出一个点

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

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

4.循环2、3,如果没有符合条件的,则随机点击一个白块.最后,如果你的时间不是很紧张,并且又想快速的提高,最重要的是不怕吃苦,建议你可以联系维:762459510 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~

用python实现自动扫雷_第6张图片

用python实现自动扫雷_第7张图片

用python实现自动扫雷_第8张图片

这个算法在初级和中级通过率都不错,但是在高级成功率惨不忍睹,主要是没有考虑逻辑组合以及白块是雷的概率问题,可以对这两个点进行改进,提高成功率。

你可能感兴趣的:(python,python,pycharm,爬虫,后端,pygame)