教你用Python来玩微信跳一跳
游戏模式
2017年年12月28日下午,微信发布了6.6.1版本,加入了“小游戏”功能,并提供了官方演示《跳一跳》。这是一个2.5D插画风格的益智游戏,玩家可以通过按压屏幕时间的长短来控制这个“小人”跳跃的距离。分数越高,那么在好友排行榜更加靠前.通过Python脚本自动运行,让你轻松霸榜.
可能刚开始上手的时候,因为时间距离之间的关系把握不恰当,只能跳出几个就掉到了台子下面.如果能利用图像识别精确测量出起始和目标点之间测距离,就可以估计按压的时间来精确跳跃.
原理说明
由于微信检测非常严厉,这里的防禁代码可能已经不起作用,主要供学习用途
- 将手机点击到“跳一跳”小程序界面
- 用adb工具获取当前手机截图,并用adb将截图Pull上来
adb shell screencap -p /sdcard/autojump.png
adb pull /sdcard/autojump.png .
- 计算按压时间
- 手动版:用Matplotlib显示截图,用鼠标先点击起始点位置,然后点击目标位置,计算像素距离;
- 自动版:靠棋子的颜色来识别棋子,靠底色和方块的色差来识别棋盘;
- 用亚行工具点击屏幕蓄力一跳
adb shell input swipe x y x y time(ms)
使用教程
相关软件工具安装和使用步骤请参考Android 和 iOS 操作步骤
获取源码
- git clone https://github.com/wangshub/wechat_jump_game.git
非常推荐使用python3,避免编码及导入问题
PR要求
请选择合并进主分支,并且标题写上简短描述,例子
[优化]使用PEP8优化代码
版本说明
- 主分支:稳定版本,已通过测试
- 设备分支:开发版本,包含一些较稳定的新功能,累计多个功能并测试通过后合并至产品分支
- 其他分支:功能开发(功能)或问题修复(错误修复)、属于最新尝鲜版本,可能处于开发中的状态,基本完成后合并至开发分支
常见问题解答
- 详见Wiki-FAQ
更新日志
开发者列表
交流
- 314659953(1,000人)
- 176740763(500人)
- 或者关注我的微信公众号后台留言