最近微信更新的小游戏跳一跳可谓是火遍朋友圈,为了排名不惜熬夜刷分,甚至某宝都还有代排位的。今天博主分享一款强大的软件,让python帮您刷分,上王者!
2017 年 12 月 28 日下午,微信发布了 6.6.1 版本,加入了「小游戏」功能,并提供了官方 DEMO「跳一跳」。这是一个 2.5D 插画风格的益智游戏,玩家可以通过按压屏幕时间的长短来控制这个「小人」跳跃的距离。分数越高,那么在好友排行榜更加靠前。通过 Python 脚本自动运行,让你轻松霸榜。
那么这个python脚本是怎么工作的呢?先来了解一下原理。
编写程序用的是python语言,所以电脑要有python环境,电脑连接手机用的是adb,所以被控手机一定要开启adb调试。游戏开始时,程序通过adb获取游戏截图,发送至电脑,并分析图片中两个版块之间的距离。然后计算蓄力时间,再通过adb控制手机按压屏幕完成跳跃,依次循环,直到霸榜为止。
原理说明
- 将手机点击到《跳一跳》小程序界面
- 用 ADB 工具获取当前手机截图,并用 ADB 将截图 pull 上来
adb shell screencap -p /sdcard/autojump.png
adb pull /sdcard/autojump.png .
- 计算按压时间
- 手动版:用 Matplotlib 显示截图,用鼠标先点击起始点位置,然后点击目标位置,计算像素距离;
- 自动版:靠棋子的颜色来识别棋子,靠底色和方块的色差来识别棋盘;
- 用 ADB 工具点击屏幕蓄力一跳
adb shell input swipe x y x y time(ms)
下载地址
其他版本推荐
NodeJS版:https://github.com/wotermelon/toJump
安卓ROOT版:https://pan.baidu.com/s/1eSAPEjo
博主有话说
虽然博主也是一名码农,但是跟网上大牛比起来差距巨大,记得最早看过一篇利用摄像头监控老板走近的文章,当时是搞笑意味多一些。现在又做出来可以代打游戏的小程序,可见程序真的是无所不能,只有想不到,没有做不到。
如果想实现某种功能,只精通一种技能是不够的。比如跳一跳,不但要会python而且还要懂手机的adb知识,不但要会,还要有创造性的把他们融合,这才是工程师最宝贵的品格。
最后给用脚本的玩家说一句,见好就收,分数太离谱,也会封。