13518219792

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

教你用Python来玩微信跳一跳

 https://wangshub.github.io

成都创新互联是一家专业提供大方企业网站建设,专注与成都网站设计、网站建设、H5响应式网站、小程序制作等业务。10年已为大方众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。

GitHub 项目地址

更新日志:

相关问题

请先查阅一下 issue 区

游戏模式

2017 年 12 月 28 日下午,微信发布了 6.6.1 版本,加入了「小游戏」功能,并提供了官方 DEMO「跳一跳」。

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

如果能精确测量出起始和目标点之间测距离,就可以估计按压的时间来精确跳跃?所以花 2 个小时写了一个 Python 脚本进行验证

希望不要把分数刷太高,容易没朋友的。

操作规范

考虑到生产环境的规范性,实验与项目之间不受干扰,请尽量用新的虚拟环境来完成实验

MacOS/Win,请使用如下操作开辟新的虚拟环境(不强调表示MacOS/Win相同操作)

接下来的操作非必须,仅当实验完成后可操作,试验阶段全程在虚拟环境中操作,进入虚拟环境会有前置符号表示如:

(wechat_env) ~/Desktop/wechat_jump_game-master>

工具介绍

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

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

List of devices attached
6934dc33	device

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

关于Win+Android的adb调试添加路径等问题,可以尝试使用Tools文件夹中adb文件夹进行调试,详见adb中readme文件

依赖安装

pip install -r requirements.txt

原理说明

  1. 将手机点击到《跳一跳》小程序界面;
  2. 用 ADB 工具获取当前手机截图,并用 ADB 将截图 pull 上来
adb shell screencap -p /sdcard/autojump.png
    adb pull /sdcard/autojump.png .
  1. 计算按压时间
  1. 用 ADB 工具点击屏幕蓄力一跳;
adb shell input swipe x y x y time(ms)

安卓手机操作步骤

iOS 手机操作步骤

  1. 运行安装好的 WebDriverAgentRunner
  2. 将手机点击到《跳一跳》小程序界面
  3. 运行脚本。有两种模式可供选择:手动辅助跳 和 自动连续跳
    • 手动辅助跳
      • 命令行运行 python3 wechat_jump_iOS_py3.py
      • 依次点击弹出的窗口中的起始位置和目标位置,会自动计算距离后起跳
      • 根据起跳的精准情况更改 python3 wechat_jump_iOS_py3.py 中的 time_coefficient参数,直到获得***取值
    • 自动连续跳
      • 拷贝 ./config/iPhone 目录下对应的设备配置文件,重命名并替换到 ./config.json
      • 命令行运行 python3 wechat_jump_auto_iOS.py
      • 会自动计算坐标并连续起跳,根据起跳的精准情况更改 ./config.json 中的 press_coefficient 参数,直到获得***取值

实验结果

TODO

事实证明,机器人比人更会玩儿游戏。


网站栏目:教你用Python来玩微信跳一跳
文章起源:http://cdbrznjsb.com/article/cdoschh.html

其他资讯

让你的专属顾问为你服务