4399小游戏—宠物连连看经典版2—游戏辅助脚本VanHope

期末的时候看到一篇博客,写的宠物连连看的辅助脚本,感觉很有意思,就自己跟着博客自己实现了一遍,开发过程中遇到了一些问题,也体会到了解决问题的乐趣,遂在此记录一下。

这篇博客给出了完整版的代码,大体上我是根据他的思路实现的,只有部分细节按照我自己的想法做了修改。

具体流程如下:

窗口句柄:简单理解就是窗口的id,可以根据这个id识别已经打开的窗口

在Windows中,句柄是一个系统内部数据结构的引用。例如当你操作一个窗口,或说是一个Delphi窗体时,系统会给你一个该窗口的句柄,系统会通知你:你正在操作142号窗口,就此你的应用程序就能要求系统对142号窗口进行操作——移动窗口、改变窗口大小、把窗口最小化等等。

--《百度百科》

可以使用winspy,spy++等工具获取某个窗口的句柄。

使用360浏览器打开宠物连连看小游戏后,我用winspy获取到的句柄是"宠物连连看经典版2小游戏,在线玩,4399小游戏-360安全浏览器10.0"

获取到窗口的句柄之后,就可以使用python的库操纵窗口了,使用的库是win32gui

#获取窗口的句柄self.hwnd=win32gui.FindWindow(0,wdname)ifself.hwnd==0: print('nosuchhwnd') exit(1)#将该窗口显示在最前面win32gui.SetForegroundWindow(self.hwnd)执行之后,连连看的窗口就显示到最前面了,下一步就可以截图了

主要使用到的库是PIL的ImageGrab,PIL现在官网上不去,pillow好像和PIL功能是差不多的,文档可以参考pillow的。

这一步的重点是要计算出每个图标的左上角、右下角的坐标,准确将其从截图中分割出来。

'''获取屏幕截图,并将图标分割'''defscreen_grab(self):#获取整个屏幕截图image_grab=ImageGrab.grab()#获取截图中间所有动物图标的截图box=(399,305,1247,873)animals_iamge=image_grab.crop(box)#将每个动物图像分割,得到图像矩阵images_list=[]offset=71#将截图用windows自带的画图打开,就可以查看某个点的位置, #计算出每个图标的大小大约是71px,不是特别准确,但是基本可以分割出每个图标了x0=0y0=0foriinrange(8):images_row=[]forjinrange(12):#小图标左上角的坐标x1=x0+j*offsety1=y0+i*offset#小图标右下角的坐标x2=x1+offsety2=y1+offset#5px的偏移是为了去掉小图标周围,只保留中间,这样区分不同的图片更容易images_row.append(animals_iamge.crop((x1+5,y1+5,x2-5,y2-5)))images_list.append(images_row)returnimages_list3、将图标矩阵转换成数字矩阵这一步是比较复杂的,主要的目标是将每个图标转换成一个数字,要求相同的图标数字相同。

这里分为两步:

首先将每个图标转成一个灰度图标,然后将这个灰度图标转换成01字符串。

然后比较两个字符串各个位置0、1的区别,记录不同的个数,然后设定一个阈值,不同的个数如果低于这个阈值(即两个图标相差不多),可以认为它们是同一种图标,否者不是。

比较麻烦的是阈值的确定,只能将两个图片的灰度值慢慢比较,找到一个threshold,高于这个threshold能区分为两个不同的图片;低于这threshold保证两个图标相同。

我用到的一个技巧就是,在创建图标矩阵的时候(上一步),每个图标截取的时候往中间多收缩了5px,这样就可以去掉截取的图标周围的一些"杂质",更容易确定阈值。

[[00000000000000][01223245677180][0949108311231150][06126312941281130][0312101112385966100][07471148125127520][01014211766115530][011958421091011990][010127112107641880][00000000000000]]4、判断两个点是否可以点击消除根据游戏规则,对一个点(x1,y1)得到它可以直接到达的点的集合list1,所谓直接到达,指的是从(x1,y1)出发上下左右连续为0的点;对于(x2,y2)得到list2,然后判断list1中每个点和list2中每个点有没有可以直接到达(即两个点在同一行或同一列,且中间都是0),如果存在这样地点,就说明(x1,y1)、(x2,y2)可以到达。

THE END
1.宠物连连看手机版免费下载宠物连连看经典版下载安装...宠物连连看是非常好玩的休闲消磨时间的游戏,因其可爱的宠物主题和刺激的连连消除玩法而备受玩家喜爱,简单易懂的规则和丰富多样的关卡设计,为玩家带来了无尽的乐趣和挑战。随着游戏的爆火,厂商也是做出了各个版本,于是小编就给大家带来了宠物连连看版本大全,里面有宠物连连看经典版、宠物连连看3d版、宠物连连看单机版等等,对...https://www.ddooo.com/zt/cwllk.htm
2.宠物连连看可爱版2下载宠物连连看可爱版2经典单机版下载宠物连连看可爱版2是一款非常多玩家喜欢的连连看游戏版本,里面有超多的神奇宝贝宠物,喜欢该题材的玩家一定会更加亲切,这里你会看到超多的口袋妖怪Q版图案,游戏现在包含了13个关卡,每关多两个可爱的宠物小精灵,每连接一对牌还有幸运机会。,越到后面的关卡,要消除的元素会越来越多。喜欢的朋友可以下载体验~ ...http://www.kkx.net/game/53720.html
3.宠物连连看可爱版2单机下载宠物连连看可爱版2.0下载flash版下载地址发表评论查看评论收藏游戏 游戏介绍 游戏标签: 宠物连连看 宠物连连看可爱版2是一款经典的宠物消除单机游戏。玩家只要在每一关卡成功消除掉所有的神奇宝贝图案,就可以顺利过关。每一关中都会多放置两个可爱呆萌的小精灵哦,玩家一定要眼疾手快才可以赢得最后的胜利!快来绿色资源网试玩吧! 游戏介绍 宠物连连看...http://m.downcc.com/d/149042
4.宠物连连看3.1手机版下载宠物连连看可爱版2宠物连连看手游玩起来既简单又有趣,可以为您带来超乎想象的乐趣,让您在手机上就能玩转经典的连连看游戏,超多不同的可爱宠物等你来消除,玩起来非常的经典特别,喜欢的小伙伴赶紧点击下载吧! 玩法: 在有限的时间内,只要把所有能连接的相同图案,两个一对地找出来,每找出一对点击连接,它们就会自动消失,只要把所有的图...http://m.danji100.com/k/cwllk/
5.宠物连连看下载1.0.2最新版宠物连连看下载1.0.2最新版,历史版本安装尽在7723手游网,同时还可以查看最新版宠物连连看1.0.2介绍、应用截图、网友评论等宠物连连看下载安装信息https://www.7723.cn/apps/129832
6.宠物连连看之星星消灭手机版游戏下载宠物连连看之星...宠物连连看之星星消灭v1.0.2安卓版|报错 软件大小:52Mb 软件语言:简体中文 更新时间:2024-05-11 13:46:25 系统要求:Android/安卓 72.73% 27.27% 使用二维码下载到手机 宠物连连看之星星消灭是一款非常受欢迎的安卓休闲益智游戏。游戏中,玩家需要通过连连看的方式,消除屏幕上的宠物图标,达到指定的消除目标即可过关。https://www.crsky.com/soft/615524.html
1.全面解析宠物连连看可爱版2的玩法与攻略分享在如今的休闲游戏市场中,宠物连连看可爱版2凭借其精美的画面、丰富的玩法和可爱的宠物形象,吸引了大批玩家的喜爱。作为一款经典的连连看类游戏,它不仅能够带给玩家无尽的乐趣,还能锻炼玩家的观察力和反应能力。本文将全面解析宠物连连看可爱版2的玩法与攻略,帮助玩家更好地享受游戏的乐趣。 http://m.sqdtv.com/guanwang/42766.shtml
2.宠物连连看可爱版2下载宠物连连看可爱版2《宠物连连看可爱版2》其实是《宠物连连看可爱版》的2.0版本,宠物连连看可爱版2游戏中中你将看到大量可爱的口袋妖怪Q版图案,两个相同图案,如果图案间的连线转折不超过两次并且不经过其他图案,即可消除。游戏一共有13个关卡,越到后面需要消除的种类越多,在消除过程中还有机会得到一些实用的道具。喜欢的小伙伴快来下载吧...https://xiazai.zol.com.cn/detail/44/435490.shtml
3.宠物连连看可爱版2单机版下载宠物连连看可爱版2下载地址 宠物连连看可爱版2是一款以宠物连连看为背景制作的连连看休闲益智类游戏作品。玩家们将可以体验到挑战敏捷极限的玩法,并且拥有13大挑战关卡可供玩家们体验,喜欢的玩家们赶快来下载进行体验这款连连看游戏吧! 游戏亮点说明 挑战敏捷极限。 增加两个可爱精灵。 加入幸运元素。 考验大家的思维能力。 游戏操作说明 ...https://www.qqtn.com/down/576829.html
4.宠物连连看可爱版2下载宠物连连看可爱版2手机版下载v1.2宠物连连看可爱版2是一款可爱的宠物游戏,只要把所有能连接的相同图案,两个一对地找出来,游戏的玩法还是很简单的,最主要是训练眼明手快及增强逻辑判断能力,感兴趣的玩家快来下载游玩吧。https://www.lanrentuku.com/shouyou/453575.html
5.宠物连连看可爱版2下载宠物连连看可爱版2免费下载宠物连连看可爱版2小游戏可以免费下载到自己的电脑,方便下次再玩。https://www.17yy.com/f/download/74874.html
6.宠物连连看可爱版2手机版下载宠物连连看可爱版2手机版手机扫码下载 系统介绍 常见问题 相关下载 宠物连连看可爱版2手机版是一款深受所有玩家喜爱的益智游戏,它可以挑战你敏捷的极限,刺激你的大脑,无聊的时候也可以玩,打发时间,宠物连连看可爱版2手机版的游戏共有13个关卡。每个关卡增加两个可爱的精灵宝可梦。它的画面精致可爱,因为玩法简单有趣,所以很受欢迎,在细节上游戏...https://www.dadighost.com/android/134385.html
7.宠物连连看可爱版2手机版下载宠物连连看可爱版2游戏下...宠物连连看可爱版2手机版是一款以宠物为元素的经典连连看休闲游戏,相信不少玩家都玩过单机版的宠物连连看,这款手机版本更多关卡设定,画面更加清新可爱,加上动感的背景音效,趣味性增加。欢迎来IT猫扑下载。 宠物连连看可爱版2游戏介绍 宠物连连看2是一款有趣休闲的消除类休闲游戏,闲暇时刻玩一下就停不下来,免费应用完全...https://www.itmop.com/downinfo/201112
8.宠物连连看下载最新版宠物连连看经典版下载安装1.0.2安卓版宠物连连看下载最新版是一款非常有趣好玩的休闲益智小游戏,在游戏中玩家需要在地图中完成趣味的消除挑战,将相同的动物进行链接消除,最后将所有的动物全部消除即可完成挑战,游戏提供了丰富多样的道具可以帮助玩家轻松完成不同挑战,不同的道具有着不同的效果需要玩家灵活运用,游戏的关卡数量十分丰富,可以让玩家尽情的在此挑...http://www.wfdown.com/soft/12265.htm
9....v1.0安卓版梦幻宠物连连看2v1.0安卓版下载梦幻宠物连连看2 v1.0,掌上游侠提供全平台梦幻宠物连连看2 v1.0下载,最新手机版梦幻宠物连连看2 v1.0,梦幻宠物连连看2 v1.0iOS,梦幻宠物连连看2 v1.0iPhone(iPad)版,梦幻宠物连连看2 v1.0安卓版,梦幻宠物连连看2 v1.0WP版,梦幻宠物连连看2 v1.0攻略,梦幻宠物连连看2 v1.0评https://app.ali213.net/zt/mhcwllk2/
10.宠物连连看网页版v8.0.2(官方)APP下载宠物连连看网页版v8.0.2(官方)APP下载-登录入口IOS/Android通用版/手机app支持:64/128bit是一款以东方玄幻题材打造的修炼对决类RPG手机游戏,游戏中有特色的姻缘双修玩法,玩家不止可以撩妹提亲,还可以结婚生娃,当然这一切都少不了自身强大的因素,超多可爱的https://www.wenmi.com/article/pugi9u01r0a7.html
11.宠物连连看3.1官方版下载最新版宠物连连看3.1下载免费版v8.1.2类型:休闲益智 语言:简体中文 更新:2023-10-30 08:49:35 大小:54 MB 平台:Android 版本:v8.1.2...下载地址 相关软件 宠物连连看3.1官方版下载最新版是一款非常休闲轻松的消除益智类手机游戏。游戏中,玩家https://www.05sun.com/downinfo/523736.html
12.《宠物连连看经典版2》超清在线观看简介: 《宠物连连看经典版2》是波冈一喜导演的一部超级经典的电视剧中国大陆 片,该剧讲述了:对方完全没有预料到云凡的拳法如此威猛嘭在围观者惊讶的眼神中,安宁郡主毫无还击之力,右臂挨了一拳,皮鞭掉在地上,想看更多的相关影视作品,请收藏我们的网站:lamoren.com...http://www.lamoren.com/store-9841/
13.宠物连连看2017下载宠物连连看2017免费版下载v1.1《宠物连连看2017》是一款超经典、超时尚、超好玩的休闲连连看游戏,超Q萌的画面,清新的界面,给你不一样的视觉体验,还有好听的音乐,趣味无穷,超多模式,超多玩法,超多关卡,超多道具,超多挑战,感兴趣的玩家快来下载吧! 宠物连连看2017游戏亮点 感谢您找到了我们精心设计的2017全新宠物连连看,我相信它绝对不会让您失...https://www.nengweng.com/pgyx/86352.html