写文章

如何用Python刷出微信跳一跳高分

2018-11-28 15:17:29

2921 | 0 | 0

12月28日,微信宣布,小程序增加了新的类目:小游戏,同时上线小游戏「跳一跳」,瞬间跳一跳成了全民游戏,玩得厉害的撑死不过200多分,如何牢牢占据排行榜的第一位呢?用Python帮助你,Python真的无所不能。小编现在就来教你如何用Python来玩微信跳一跳。


这是一个 2.5D 插画风格的益智游戏,玩家可以通过按压屏幕时间的长短来控制这个「小人」跳跃的距离。可能刚开始上手的时候,因为时间距离之间的关系把握不恰当,只能跳出几个就掉到了台子下面。 玩法类似于《flappy bird》


如果能精确测量出起始和目标点之间测距离,就可以估计按压的时间来精确跳跃?网上有小伙伴就写了一个 python 脚本进行验证实现高分

工具准备

  • Python 2.7

  • Android 手机

  • Adb 驱动

  • Python Matplot绘图


如果你是ios,请参考下面的配置:在真机调试wda,参考iOS 真机如何安装 WebDriverAgent TesterHome,用这个python的客户端openatx/facebook-wda,把adb的调用替换成wda的api就好了

安装依赖包

backports.functools-lru-cache==1.4
cycler==0.10.0
matplotlib==2.1.1
numpy==1.13.3
olefile==0.44
Pillow==4.3.0
pyparsing==2.2.0
python-dateutil==2.6.1
pytz==2017.3
six==1.11.0

原理说明


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

  2. 用Adb 工具获取当前手机截图,并用adb将截图pull上来

    adb shell screencap -p /sdcard/1.png
    adb pull /sdcard/1.png .
  1. 用matplot显示截图;

  2. 用鼠标点击起始点和目标位置,计算像素距离;

  3. 根据像素距离,计算按压时间;

  4. 用Adb工具点击屏幕蓄力一跳;

    adb shell input swipe x y x y time

实验结果

项目地址:https://github.com/wangshub/wechat_jump_game

另附高分秘籍:其实在「跳一跳」中取得 100+ 的高分并不难,你只需要记住这五个技巧:

  1. 跳在盒子中间,会得 2 分;连续跳在盒子中间,会在上次的基础上累加 2 分。

  2. 跳到井盖停留一会儿,会有冲水的声音,额外加5分。

  3. 跳到魔方停留一会儿,等到魔方旋转,额外加10分;

  4. 跳到便利店停留一会,等便利店开门,额外加15分;

  5. 跳到音乐盒上听一会儿音乐,额外加30分;

0

收藏
分享