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.连线之王连线之王html5游戏4399h5游戏4399云游戏 宠物连连看 小游戏大全 动漫网 斗罗大陆H5 斗地主 祖玛 三国群英传 塔防游戏 超级玛丽 密室逃脱 客户端游戏 死神vs火影 美食大战老鼠 火柴人 好游快爆 好玩的网页游戏 三国杀 和平精英 3D游戏 地铁跑酷 扫雷 使命召唤手游下载 无敌版小游戏 单人游戏 3387游戏 赛车小游戏 西普大陆手游游戏玩法 评论 作...https://www.4399.com/flash/245490.htm
2.宠物连连看小游戏宠物连连看在线玩类型:宠物 宠物连连看 经典 连连看 | 大小:9k 本类推荐 最新游戏 最热游戏 全新连连看阿sue爱情速配团画笔木乃伊2赤裸特工华丽弹球台_ 华丽弹球四人大富翁_四人大富可爱小胖子极限跳跃水果蛋挞小猴过河蛊惑仔争霸小弟找茬美女服务生社区邻居欢乐味味碰跳跃球所有球福娃找茬 游戏评论 共有0条游戏评论 评论加载中 喜欢...http://www.43999yx.com/yizhi/9396_play.htm
3.宠物连连看经典版手机版下载宠物连连看单机版下载中文版宠物连连看做为一款连连看的休闲游戏深受玩家的喜爱,因为游戏的画面非常的可爱,玩法也非常的休闲,适合各类人群娱乐,而且还可以锻炼玩家的眼力,游戏可以支持电脑、手机两个平台,对于想玩的朋友可以直接体验非常方便,所以今天小编就带来了宠物连连看的各种各样的版本,喜欢的话选择想要的版本下载即可哦。 http://www.xfdown.com/k/petlinlink/
4.连连看小游戏,连连看小游戏大全,连连看下载,4399连连看小游戏大全4399连连看全集小游戏大全收录了国内外果蔬连连看小游戏,在线小游戏连连看,连连看小游戏下载,爱情连连看,游戏连连看3.1,阿达连连看,好玩就拉朋友们一起来玩吧!http://www.4399.net/special/8.htm
5.宠物连连看特别版宠物连连看特别版官方下载2024最新版宠物连连看特别版是一款经典休闲益智类小游戏。宠物连连看可以在很多网站上玩到在线版,如4399小游戏等,但是这款宠物连连看特别版能让你在没有网络的时候也能玩到精美休闲的连连看游戏。宠物连连看特别版中包含了诸多的宠物元素,超多可爱的图标,等你去消除。快来华军软件园看看吧! https://m.onlinedown.net/soft/196966.html
6.小游戏,7k7k小游戏,小游戏大全,双人小游戏,7k7k官网7k7k小游戏大全包含连连看,连连看游戏,双人小游戏,赛尔号,洛克王国,三国杀,在线小游戏,斗地主,象棋,扫雷,麻将,h5,h5游戏,迷你世界,7k7k奥拉星,7k7k奥比岛,7k7k弹弹堂,单人游戏,逃跑吧少年,斗罗大陆,7k7k冒险王,召唤神龙等最新小游戏。http://8.7k7k.com/
7.宠物连连看下载宠物连连看安卓版下载宠物连连看 1万+ 下载 57.49M 下载试玩 好游戏,一起玩 更多精品游戏尽在4399游戏盒 简介 论坛 写评论 发布 一般 您还可以输入300个字 评论详情 × 该游戏礼包只能在游戏盒领取的哦 取消 确认领取 × 马上去4399游戏盒付费,开始游戏吧 取消 确认 打开游戏盒查看详情 ? 如已安装游戏盒app,点击[立即打开]自动...https://a.4399.cn/mobile/256626.html
1.宠物连连看v1.1.0:享受乐趣,激发智慧,开启全新宠物世界它们通过简单易懂的规则、丰富多彩的玩法,能够让玩家在繁忙的生活中找到放松心情的乐趣。而在这其中,《宠物连连看v1.1.0》无疑是一款脱颖而出的佳作,凭借其可爱的宠物元素和挑战性十足的关卡设计,迅速赢得了玩家们的喜爱。 作为经典连连看系列的最新版本,《宠物连连看v1.1.0》不仅保持了原有玩法的精髓,还增加了不...http://m.efindyou.com/rjinfo/5.html
2.宠物连连看正版宠物连连看正版 导读宠物连连看正版是一款经典的连连看游戏,在游戏中玩家需要通过连接两个相同图案的方块来消除它们。这款游戏具有多种模式和关卡,适合不同年... 宠物连连看正版是一款经典的连连看游戏,在游戏中玩家需要通过连接两个相同图案的方块来消除它们。这款游戏具有多种模式和关卡,适合不同年龄段的玩家挑战。https://news.mogufr.com/yxzn/202411/70112.html
3.4399小游戏C站4399小游戏大全包含连连看 ,连连看小游戏大全,双人小游戏大全,H5在线小游戏,4399洛克王国,4399赛尔号,4399奥拉星,4399奥比岛,4399弹弹堂,4399单人小游戏,奥比岛小游戏,造梦西游online,造梦无双等最新小游戏。 数据统计 综合信息 4399小游戏站综合查询 点击查询:【5118数据】【爱站数据】【Chinaz数据】 4399小游戏的最新...https://clicli.com.cn/sites/9999.html
4.安卓连连看单机版下载手机连连看小游戏大全推荐理由:连连看经典版是一款免费的安卓单机版连连看消除手游,是目前最老的一个经典连连看版本,广大玩家可以在本版连连看经典版中体验到最经典的消除版本,各种Q萌的宠物、多样的模式和丰富的关卡,让你玩的根本停不下来!... 下载奇怪的连连看 2020-12-0270.5M v1.2.0 官方正版 推荐理由:奇怪的连连看安卓手机上也能...https://www.qqtn.com/az/azllkyx/
5.宠物公司热点话题热门搜索词43 宠物火化 259 44 电子宠物 258 45 宠物小精灵之写轮眼传奇 255 46 宠物保险 252 47 宠物狗图片 250 48 宠物鼠 245 49 宠物小精灵游戏 238 50 宠物连连看可爱版2 237 51 宠物小精灵剑盾 235 52 宠物连连看25版 233 53 宠物寄养 233 54 宠物猫品种 230 55 宠物鳄鱼 229 56 宠物领养 218 57 qq宠物企...https://www.0797cx.cn/page37?article_id=56716
6.宠物连连看3.1无敌?宠物连连看3.1无敌版的操作方法各位老铁们,大家好,今天由我来为大家分享宠物连连看3.1无敌,以及宠物连连看3.1无敌版的操作方法的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的https://si84.com/news/xydt/14045.html
7.4399宠物连连看2.5原版本4399宠物连连看2.5原版下载...4399宠物连连看2.5原版本-4399宠物连连看2.5原版下载...,相比单纯的测雨雷达,天气雷达不仅能测雨,还能时刻关注大气运动情况,精准捕捉强对流天气过程,包括短时强降水、雷暴大风、冰雹和龙卷等强致灾性天气。尤其是0至2小时的强对流临近预报中,天气雷达系统能够对强对流http://down.bypos.net/mdk20240902/ocflwyb.aspx
8.4399的恐怖游戏排行榜,4399小游戏大全1.宠物连连看2. 2.宠物连连看 3.黄金矿工中文 4.拳皇2000 5. XEVOZ变种战士 6.魔塔~V1.1 7.街机三国志FL 8.特种任务 9.上古神器之二 10.超级索尼科 11.灵剑封魔录 12.新冒险岛 13.格斗七龙珠 14.新合金弹头 15.街头霸王II 16.无敌三国志 http://www.777au.com/shouyou/a7526411.html
9.[Python]用python做一个游戏辅助脚本,完整思路python游戏脚本简述:本文将以4399小游戏《宠物连连看经典版2》作为测试案例,通过识别小图标,模拟鼠标点击,快速完成配对。对于有兴趣学习游戏脚本的同学有一定的帮助。 运行环境:Win10/Python3.5。 主要模块:win32gui(识别窗口、窗口置顶等操作)、PIL(屏幕截图)、numpy(创建矩阵)、operator(比较值)、pymouse(模拟鼠标点击)。 https://blog.csdn.net/weixin_42459823/article/details/92560127
10.弓箭手救小人43994399上有什么好游戏1.宠物连连看2. 2.宠物连连看 3.黄金矿工中文 4.拳皇2000 5. XEVOZ变种战士 6.魔塔~V1.1 7.街机三国志FL 8.特种任务 9.上古神器之二 10.超级索尼科 11.灵剑封魔录 12.新冒险岛 13.格斗七龙珠 14.新合金弹头 15.街头霸王II 16.无敌三国志 http://www.youxibaodian.com/games/1725249739ayw.html
11.4399宠物连连看2.5原版本4399宠物连连看2.5原版下载【4399宠物连连看2.5原版】一直是最受欢迎的连连看游戏,玩法经典、休闲趣味、放松解压,游戏关卡丰富多样,大家自由挑战通关,会有不一样的游戏乐趣,想要玩的朋友就来下载王下载【4399宠物连连看2.5原版】。 4399宠物连连看2.5原版内容 游戏的全新玩法,找到最真实的幸福。 https://www.modelgood.com/10518.html
12.宠物连连看经典版下载宠物连连看经典版v1.0.5免费下载安卓版下载软件简介 宠物连连看经典版是一款益智休闲类的手机小游戏,游戏的玩法非常的简单,宠物连连看经典版玩家需要将两个相同的宠物小精灵图案点击连接起来,来将其消除掉,适合所有人群,还有超多的道具可以来帮助你来完成通关,丰富的难关等你体验。 宠物连连看经典版游戏特色 经典模式,经典传统的玩法,向历史致敬! https://m.dadighost.com/android/134386.html
13.宠物连连看经典版免费标签:连连看 介绍 连连看经典版,传统水果连连看玩法,在有限的游戏时间内对对碰连接相同的动物图案。 连连看经典版,一般又称宠物连连看经典版,单机连连看经典版。 游戏功能: 经典模式:传统水果连连看玩法,在有限的游戏时间内对对碰连接相同的动物图案,配对宠物方块,无限重玩关卡等你挑战。 再生模式:超越经典游戏玩法,在...https://m.liqucn.com/yx/959347.wml