用 Python 来刷微信「跳一跳」游戏的记录

本文代码在公众号 datadw 里 回复 跳一跳   即可获取。


微信小程序的游戏 —— 跳一跳,可以说是火爆了所有的微信好友圈。甚至比五六年前的飞机大战游戏都火爆,这种小游戏的火爆不仅仅是因为有魔性,有意思,更好玩的是和好友之间的排名比拼。可以说:微信深谙心理学啊!

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

0?wx_fmt=jpeg


这个游戏应该怎么玩呢?


当手指触碰到手机屏幕时,长按,它就弓腰蓄力;松开,它就开始翻转跳跃——从这个“盒子”跳到另一个“盒子”。难度还是比较大的。

0?wx_fmt=gif

既像“i”又像一个“人”。

当你的手指触碰到手机屏幕时,长按,它就弓腰蓄力;松开,它就开始翻转跳跃——从这个“盒子”跳到另一个“盒子”。

玩家要做的事情就是让小人不要掉下去。

高分秘籍是这样的:

640?wx_fmt=png

1. 如果你每次都能挑到各自的正中间的话,可以 + 2 分,如果连着跳到中间会 + 4、+6、+8、+10……

2. 跳到污水井盖上面,停留 2 秒,等到下水道声音响起直接 + 5 分

3. 跳到魔方上面,停留 2 秒,等到魔方转正会直接 + 10 分

4. 跳到音乐盒上面,停留 2 秒,等到音乐响起会直接 + 30 分

5. 跳到便利店,停留 2 秒,等到便利店开门会直接 + 15 分

这确实是游戏攻略,但是你们知道为什么会这么设计吗?停留 2 秒?因为这样会打乱你跳跃的节奏感,你们有没有感觉跳到加分块上的时候,停留之后再跳,特别容易失误?这都是套路。

在 Github 上面已经有小伙伴用 Python 来玩跳一跳这个游戏了,想多少分就有多少分,很简单。


本文代码在公众号 datadw 里 回复 跳一跳   即可获取。

0?wx_fmt=png


工具介绍

  • Python

  • 手机或模拟器

  • ADB 驱动,可以到这里下载

  • 相关依赖

如果你是iOS + MacOS,请参考下面的配置:

  • 使用真机调试 WDA,参考 iOS 真机如何安装WebDriverAgent · TesterHome

  • 安装openatx/facebook-wda

  • Python 3

如果你是 Android + MacOS,请参考下面的配置:

  • Python 3

  • 使用brew进行安装 brew cask install android-platform-tools

  • 安装完后插入安卓设备且安卓已打开usb调试模式,终端输入 adb devices ,显示如下表明设备已连接


安卓手机操作步骤

  • 安卓手机打开 USB 调试,设置》开发者选项》USB 调试

  • 电脑与手机 USB 线连接,确保执行adb devices可以找到设备 ID

  • 界面转至微信跳一跳游戏,点击开始游戏

  • 运行python wechat_jump_auto.py,如果手机界面显示 USB 授权,请点击确认

  • 请按照你的手机分辨率从./config/文件夹找到相应的配置,拷贝到 *.py 同级目录./config.json(如果屏幕分辨率能成功探测,会直接调用 config 目录的配置,不需要复制)

iOS 手机操作步骤

  1. 运行安装好的 WebDriverAgentRunner

  2. 将手机点击到《跳一跳》小程序界面

  3. 运行脚本。有两种模式可供选择:手动辅助跳 和 自动连续跳

  • 拷贝./config/iPhone目录下对应的设备配置文件,重命名并替换到./config.json

  • 命令行运行python3 wechat_jump_auto_iOS.py

  • 会自动计算坐标并连续起跳,根据起跳的精准情况更改./config.json 中的press_coefficient参数,直到获得最佳取值

  • 命令行运行python3 wechat_jump_iOS_py3.py

  • 依次点击弹出的窗口中的起始位置和目标位置,会自动计算距离后起跳

  • 根据起跳的精准情况更改python3 wechat_jump_iOS_py3.py中的time_coefficient参数,直到获得最佳取值

  • 手动辅助跳

  • 自动连续跳

实验结果

0?wx_fmt=jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值