我用Python玩小游戏“跳一跳”,瞬间称霸了朋友圈!

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

北大青鸟华美官网:的更新开始,微信小程序游戏“跳一跳”似乎在一夜之间风靡了朋友圈。它甚至比五六年前的飞机大战游戏都火爆,这种小游戏的火爆不仅仅是因为有魔性、有意思,更重要的是可以进行好友PK!北大青鸟华美官网:“跳一跳”的小游戏推出后,很多准备奋发向上的同学,这个假期的美好愿景被毁了。为了多跳几步,以及朋友圈的排名,大家在整个假期都是这样的:北大青鸟华美官网:就这样跳啊跳...挤地铁跳,蹲马桶跳,乘电梯跳,静默的每1秒都不能浪费在办公室,还要时刻警觉后面...说好的工作呢...我控制不住我自己啊!北大青鸟华美官网:分但排行榜里四分之三的人都超过三位数了……真是扎心了……今天小编来告诉你,如何才能获取高分,如何才能占据朋友圈榜首?游戏攻略拿高分普通版本的高分秘籍是这样的:如果你每次都能挑到各自的正中间的话,可以+2分,如果连着跳到中间会+4、+6、+8、+10……跳到污水井盖上面,停留2秒,等到下水道声音响起直接+5分跳到魔方上面,停留2秒,等到魔方转正会直接+10分跳到音乐盒上面,停留2秒,等到音乐响起会直接+30分跳到便利店,停留2秒,等到便利店开门会直接+15分北大青鸟华美官网:以上是针对普通用户,但对咱们程序猿来说用这套太Low了,接下来要说的是如何从技术层面去实现高分:技术手段实现高分通过Python手段在Github上面已经有人用Python来玩跳一跳这个游戏了,想多少分就有多少分。GitHub地址:北大青鸟华美官网:步骤:安卓手机打开USB调试,设置》开发者选项》USB调试。电脑与手机USB线连接,确保执行adbdevices可以找到设备id。界面转至微信跳一跳游戏,点击开始游戏。北大青鸟华美官网:运行pythonwechat_junp_auto.py,如果手机界面显示USB授权,请点击确认。很有趣!简单点说就是:用电脑帮你玩微信跳一跳,全自动,不用手动。效果:这里梳理一份稍微完整一点的操作步骤,以Mac的为例,Win的思路是一样的。另外,这里用的是安卓手机,iOS也差不多,不过要下载一个5.5GB的Xcode。1、下载程序,打开下面的链接,点右侧cloneordownload,再点downloadzip。2、解压zip文档,再把文件夹挪到桌面,打开文件夹,你会看到很多东东:北大青鸟华美官网:、打开mac系统自带的“终端”,这是一个命令行应用,win用cmd就可以了吧。4、通过终端进入文件夹,命令行如下:1.~/Decktop/wechat_jump_game-master北大青鸟华美官网:、安装pip,在终端输入sudoeasy_installpip再回车,可能要输入密码。6、安装各种依赖程序,在终端输入pipinstall-rrequirements.txt再回车,系统会自动安装。requirements.txt就是文件夹里的一个txt文档,里面写着会自动安装哪些程序。pip就是第5步安装的程序,如果没安装,pipinstall-rrequirements.txt将无法执行。7、安装adb,打开下面的链接查看,有3种方法,建议用第二种,是英文,如果你不懂英文可以百度中文教程。北大青鸟华美官网:、打开安卓手机的设置-开发者选项-USB调试(如果没有开发者选项,可百度打开开发者选项的方法),用USB线连接手机和电脑,手机可能会弹出对话框,点同意。北大青鸟华美官网:北大青鸟华美官网:如果出现运行脚本后小人不跳的情况,请检查是否有打开“USB调试(安全模式)”,记得顺便打开USB模拟点击。9、在终端输入adbdevices,如果看到下面这种信息,说明adb已正确安装,也说明电脑成功检测到手机。如果你系统是Win10或Win8可能需要先设置一下“禁用强制驱动程序签名”。北大青鸟华美官网:不然会出现下面的“文件的哈希值不在指定目录中”安装不上adb驱动的问题,网上有教程请自行学习。10、打开微信跳一跳点开始,在终端输入pythonwechat_jump_auto.py点回车,游戏就会自动开始~请根据手机分辨率运行相应的*.py文件。北大青鸟华美官网:注意:我跳了很多次,最后都会掉下盒子,暂时最多只能跳到1800+分,不能一直跳下去。分辨率不同,配置文件也不一样,具体看config这个文件夹。别刷太高分,有人刷到4000,结果分数被微信清零。实验结果:北大青鸟华美官网:只要有耐心,你就是王者北大青鸟华美官网:北大青鸟华美官网:下面分析一下代码,Main部分有一个While循环,只要你不终止,它会一直重复操作。Main部分代码里面主要调用的自定义函数有三个,还有一个time.sleep是为了延迟一下:pull_screenshot()#获取图像find_piece_and_board(im)#根据图像获取两个点的坐标值jump(math.sqrt((board_x-piece_x)**2+(board_y-piece_y)**2))#根据两点距离和手机像素计算按压时间并JUMPpull_screenshot()这个函数主要是利用adb来获取图像,这里顺便说一下“adb”,adb是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作。北大青鸟华美官网:工具,我们可以管理设备,还可以进行如安装软件、系统升级、运行Shell命令等等操作。如“pull”就是获取设备中的文件,想更多了解ADB请自行学习~find_piece_and_board()根据图像获取当前小人位置和落点的坐标系(piece_x,piece_y,board_x,board_y),这个是这个脚本中的核心部分。jump根据设定的“长按的时间系数”计算需要的按压时间,这个系数是根据手机分辨率推出来的,按压时间设定不小于200ms,核心命令是adb的“inputswipe”。北大青鸟华美官网:“inputswipe”模拟的是手指在屏幕上的滑动事件,如果两个点坐标不变化就成了长按了。代码中四个变量的设置是:“swipe_x1,swipe_y1,swipe_x2,swipe_y2=320,410,320,410”,所以是模拟的长按,其实滑动也是可以的。伪造POST请求刷分除了可以用Python实现高分,还有网友爆料还可以直接伪造POST请求刷分,直接改分数。昨日,V2EX网站上一篇题为《微信跳一跳可以直接更改分数,POST请求没有校验…》的文章获得大量曝光,帖中指出微信小程序存在漏洞,跳一跳小游戏可以直接改分数。北大青鸟华美官网:用户朱鹏飞根据帖子的指引,发现甚至连微信小程序、小游戏的源代码都可以直接下载,只需要知道appid和版本号,就可以直接构造URL下载后缀为wxapkg的源码包,不需要任何验证。据微信公众号“小专栏平台”消息,截自1月1日23:50,微信官方已经修复了这个漏洞。不过,据说一些老版本的微信还是可以抓包获取包地址。最后一个微信已经修复Bug(部分版本没有修复),但只要利用好前面两个攻略,再配合对节奏的把握,登上朋友圈前几完全不在话下。话不多说,赶紧去玩吧!!!

1 / 20
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功