同事摸鱼扫雷通关来炫耀~ 我用Python做出自动扫雷十秒通关

哈喽大家好!我是IT界搬运喵!

今天上班,旁边同事摸鱼扫雷通关来炫耀!我用Python做出自动扫雷十秒通关!

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

一、准备工作

1、扫雷游戏

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

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

2、Python版本选择

我用的是python3.6.1

3、Python的第三方库

win32api,win32gui,win32con,Pillow,numpy,opencv
可通过 pip install —upgrade SomePackage 来进行安装

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

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

图片

二、关键代码组成

1、找到游戏窗口与坐标

#扫雷游戏窗口
class_name = TMain
title_name = Minesweeper Arbiter 
hwnd = win32gui.FindWindow(class_name, title_name)

#窗口坐标
left = 0
top = 0
right = 0
bottom = 0

if hwnd:
    print(找到窗口)
    left, top, right, bottom = win32gui.GetWindowRect(hwnd)
    #win32gui.SetForegroundWindow(hwnd)
    print(窗口坐标:)
    print(str(left)+' '+str(right)+' '+str(top)+' '+str(bottom))
else:
    print(未找到窗口)

2、锁定并抓取雷区图像

#锁定雷区坐标
#去除周围功能按钮以及多余的界面
#具体的像素值是通过QQ的截图来判断的
left += 15
top += 101
right -= 15
bottom -= 42

#抓取雷区图像
rect = (left, top, right, bottom)
img = ImageGrab.grab().crop(rect)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值