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.宠物连连看3.1H5宠物连连看3.1H5html5游戏4399H5游戏宠物连连看3.1H5版本强势来袭!此款连连看小游戏在难易程度上做了修改,相对于其他版本的连连看简单了很多,使你玩起来的时候不用那么伤脑筋了! 提供商: 技术部FLASH 大家也喜欢 更多 太空人消消看 气球挑战 逃往自由 寻找隐藏的财宝 游戏评论共条 查看更多评论>> 游戏评论共0条 加载失败,点此刷新...https://h.4399.com/zzy/231124.htm
2.宠物连连看游戏大全,7k7k宠物连连看小游戏全集7K7K宠物连连看小游戏大全有大量最新好玩的宠物连连看小游戏免费在线玩,还有更多热门宠物连连看小游戏合集、宠物连连看小游戏下载等你来,好玩就叫上朋友们一起吧。https://m.7k7k.com/tag/487/
3.宠物连连看3.1无敌版,宠物连连看3.1无敌版小游戏,2...2144带给您好玩的宠物连连看3.1无敌版 小游戏,宠物连连看3.1无敌版 在线玩,宠物连连看3.1无敌版 游戏攻略,宠物连连看3.1无敌版 无敌版,宠物连连看3.1无敌版 双人版,更多好玩的宠物连连看3.1无敌版 小游戏尽在2144小游戏https://www.2144.cn/html/85/49140/
4.宠物连连看小游戏宠物连连看在线玩类型:宠物 宠物连连看 经典 连连看 | 大小:9k 本类推荐 最新游戏 最热游戏 全新连连看阿sue爱情速配团画笔木乃伊2赤裸特工华丽弹球台_ 华丽弹球四人大富翁_四人大富可爱小胖子极限跳跃水果蛋挞小猴过河蛊惑仔争霸小弟找茬美女服务生社区邻居欢乐味味碰跳跃球所有球福娃找茬 游戏评论 共有0条游戏评论 评论加载中 喜欢...http://www.43999yx.com/yizhi/9396_play.htm
5.连连看小游戏大全44399小游戏连连看3366小游戏连连看连连看小游戏大全免费提供44399小游戏连连看,爱情连连看,3366小游戏连连看,宠物连连看3.1,宠物连连看2.5,水果连连看3.0,果蔬连连看43999,水果连连看小游戏,7k7k小游戏连连看专题,连连看小游戏等,连连看小游戏全集。https://www.45575.com/llk/
6.连连看3.1连连看3.1原版连连看小游戏大全连连看小游戏大全提供连连看3.1,连连看3.1原版,宠物连连看3.1,宠物连连看3.1无敌版,宠物连连看2.5,宠物连连看2.6,宠物连连看3.0,宠物连连看单机版,连连看单机版下载,宠物连连看特别版等宠物连连看在线玩下载。http://lianliankan.973.com/
7.宠物连连看4399小游戏大全宠物连连看3·1无敌版4399小深给大家谈谈宠物连连看4399小游戏大全,以及宠物连连看3·1无敌版4399应用的知识点,希望对你所遇到的问题有所帮助。 宠物连连看4399小游戏大全 宠物连连看3·1无敌版4399 1、二战前线2完整版。 2、 可以调武器。 3、属于合金弹头类的。 4、每过一关都可以调换武器是女生的话就玩摩尔庄园或者装扮类的,男生的话...https://edu.iask.sina.com.cn/jy/h1ru4O9G9F.html
8.宠物连连看3.1游戏简介 宠物连连看3.1,宠物连连看的最新版本。在功能上有了不少的升级和改变,难易程度上也做了更合适的修改。使你玩起来的时候不用那么伤脑筋了!玩友们来吧,体验新版连连看! 游戏目标 在有限的时间里,用我们智慧消除相连卡片,通过9关卡获得最终的胜利 ...https://www.doyo.cn/flash/game/526999
9.我在4399小游戏上玩了宠物连连看3.1,...来自让艹再飞一会我在4399小游戏上玩了《宠物连连看3.1》,很有意思~~分享给大家!来试试吧! http://t.cn/A6UR4jv9 https://weibo.com/5678728351/JgkPN1tM2
10.360游戏大厅暑假热门小游戏大全4399小游戏大全360游戏大厅为你推荐暑假热门小游戏,包含4399,7k7k的热门小游戏,还有双人游戏,女生最爱小游戏和连连看小游戏,总有一款适合你!快来试试吧!http://360game.360.cn/theme/2017sjxyx_web.html?src=so-gjctq
11....小游戏,小游戏大全,经典游戏,小游戏网站,小游戏专题网站,最好宠物连连看2.5 神奇小妖怪 俄罗斯方块H5 海绵宝宝之百变兄弟 黄金矿工变态版 黄金矿工双人版 经典F1汽车赛豪华版 新三国战记 水果对对碰 金庸群侠传2加强版 恶魔城传说 连锁防御战 街机三国志FLASH极品 合金弹头正式版3 疯狂歌迷Ⅲ--终极革命 CS之决战中文版 特技摩托 海绵宝宝之百变兄弟无 经典蜘蛛纸牌 七彩泡泡 鲜花...http://www.yxzt.net/
12.4399有什么好玩的游戏?4399游戏大全4399小游戏下载4399一拳超人最强之男游戏动作手游637.00 KBv1.1.3 安卓版查看详情 迷你世界4399手机版模拟经营44.50 MBv0.37.10 安卓版查看详情 御剑修仙4399版角色扮演55.25 MBv0.2.41 安卓版查看详情 4399贪婪洞窟冒险解谜71.70 MBv1.6.9 安卓版查看详情 宠物连连看4399手机版休闲益智43.35 MBv1.0.1 安卓版查看详情 枪神对决439...http://m.danji100.com/k/4399youxi
1.4399小游戏精灵排行榜,经典4399小游戏推荐4399小游戏精灵排行榜,经典4399小游戏推荐 一、4399智力游戏排行榜是怎么样的 4399智力游戏排行榜:《宠物连连看》、《森林冰火人中文版》、《高楼爆破3勋章版》。 1、《宠物连连看》 《宠物连连看》考验的是各位的眼力,在有限的时间内,只要把所有能连接的相同图案,两个一对地找出来,每找出一对,它们就会自动消失,...http://www.777au.com/shouyou/a7526412.html
2.纽扣连连看纽扣连连看-4399小游戏连连看经典单机版 柔柔 梁 Con?u pour iPad Gratuit Captures d’écran iPad iPhone Description 【游戏简介】 可能你玩过了4399小游戏中水果连连看,宠物连连等各式各样的连连看,但你应该还没看过全是纽扣的连连看吧,千万别看花了眼哦,纽扣连连操作上很简单点击两个相同图标,如果图标间的...https://apps.apple.com/cm/app/%E7%BA%BD%E6%89%A3%E8%BF%9E%E8%BF%9E%E7%9C%8B-4399%E5%B0%8F%E6%B8%B8%E6%88%8F%E8%BF%9E%E8%BF%9E%E7%9C%8B%E7%BB%8F%E5%85%B8%E5%8D%95%E6%9C%BA%E7%89%88/id1068198476
3.用Python做一个游戏辅助脚本,完整编程思路分享获取窗口句柄,这里就是浏览器标题栏的标题了(右键-查看源代码-title,加上软件名)比如:“宠物连连看经典2,宠物连连看经典版2小游戏,4399小游戏 [www.4399.com]- GoogleChrome“。获取窗口句柄就可以开始了。 总体开发思路:截取游戏主图 —> 分割成小图 —> 对比每个小图,对比图片相识度,编号存入矩阵 —> 对...https://blog.csdn.net/ITF_001/article/details/122328788
4.4399游戏宠物连连看,经典益智游戏的乐趣与策略在互联网游戏世界中,益智类小游戏因其简单易上手、趣味性强等特点,深受广大玩家的喜爱,4399游戏平台的“宠物连连看”游戏以其独特的玩法和可爱的宠物形象,吸引了无数玩家的目光,本文将详细介绍这款游戏的玩法、特点以及其中蕴含的益智策略。 一、游戏概述 http://m.ntjyl.cn/glzx/42519.html
5.宠物连连看3.1无敌?宠物连连看3.1无敌版的操作方法各位老铁们,大家好,今天由我来为大家分享宠物连连看3.1无敌,以及宠物连连看3.1无敌版的操作方法的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的https://si84.com/news/xydt/14045.html
6.死神vs火影3.23小游戏(死神vs火影3.2下载)游戏玩法4399经典小游戏有: 1、造梦西游 一款以西游记为背景,需要账号登录的横版通关游戏。 2、米粒奇战记 一款非常容易友尽的战争小游戏。 3、英雄大作战 一款在当年难得的可以三四个人一起玩的战争游戏。 4、Q版泡泡堂 Q版泡泡堂。 4399小游戏手机上玩4399弹弹堂古剑奇侠神武九天太古遮天七杀桃园结义4399网页游戏 ...https://www.hxtkd.com/post/6479.html