基友扫雷通关跟我炫耀!于是用Python自动扫雷程序十秒通关

347 篇文章 12 订阅

起因是这样的,基友和我一起玩扫雷高难度,今天他来告诉我他的通关了!

各种炫耀,如下图!

image

于是,我用就用Python开发了个自动扫雷程序!跟他装了逼,瞬间喊我哥,要我教他

image

好了,不废话了!本文用于娱乐,欢迎大佬们指点!

进入正题


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

image

一、准备工作

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

python 3:我的版本是 python 3.6.1

python的第三方库:win32api,win32gui,win32con,Pillow,numpy,opencv

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

二、关键代码组成

1.找到游戏窗口与坐标

image

2. 锁定并抓取雷区图像

image

3. 各图像的RGBA值

image

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

image
小可爱,加下我微信:mengy7762
领取以下福利
1、python安装包
2、程序员电子书籍:5本-10本
3、python项目源码三份:(python破解WiFi密码、VIP视频权限破解、爬虫自动化)
4、基础学习PPT教案
5、免费课程(开课时间15:00、19:30、20:30)自由选择
6、程序员职业规划分享
7、空余时间接单赚钱方法
5.扫雷算法

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

首先点出一个点

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

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

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

image

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

怎么样?欢迎大佬指点!

image

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值