wechat_jump_game README

The project's README from github.com/wangshub/wechat_jump_game. As one markdown file: README.md.

教你用 Python 来玩微信跳一跳

GitHub stars GitHub forks GitHub license

Throughput Graph

游戏模式

2017 年 12 月 28 日下午,微信发布了 6.6.1 版本,加入了「小游戏」功能,并提供了官方 DEMO「跳一跳」。这是一个 2.5D 插画风格的益智游戏,玩家可以通过按压屏幕时间的长短来控制这个「小人」跳跃的距离。分数越高,那么在好友排行榜更加靠前。通过 Python 脚本自动运行,让你轻松霸榜。

可能刚开始上手的时候,因为时间距离之间的关系把握不恰当,只能跳出几个就掉到了台子下面。如果能利用图像识别精确测量出起始和目标点之间测距离,就可以估计按压的时间来精确跳跃。

原理说明

由于微信检测非常严厉,这里的防禁代码可能已经不起作用,主要供学习用途
  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)

使用教程

相关软件工具安装和使用步骤请参考 Android 和 iOS 操作步骤

获取源码

- git clone https://github.com/wangshub/wechat_jump_game.git
非常推荐使用Python3,避免编码及import问题

PR 要求

请选择 merge 进 master 分支,并且标题写上简短描述,例子

[优化] 使用PEP8优化代码

版本说明

FAQ

更新日志

开发者列表

交流

wechat_jump_game (wangshub/wechat_jump_game)

Searching Database…

这是什么?一个 Python 脚本,可以自动玩微信小游戏「跳一跳」。它借助图像识别测量跳跃距离,并通过 ADB 控制手机屏幕。
这是应用还是只是个脚本?这是一个独立的 Python 脚本,在电脑上运行。它不需要安装在手机上,而是通过 ADB 从外部控制手机。
怎么让它运行起来?克隆仓库,确保手机上已打开「跳一跳」,然后运行脚本。脚本会通过 ADB 截取一张屏幕截图,分析后触发一次定时的屏幕按压来完成跳跃。
我需要先设置好 ADB 吗?需要。你要先安装并配置好 Android 调试桥(ADB),用来连接手机;还需要 Python 3,以避免编码和导入方面的问题。
防封禁代码还管用吗?作者提醒,微信的检测非常严格,代码中的防封禁手段可能已经失效,因此现在主要用于学习。
它同时支持手动和自动计算跳跃距离吗?支持。手动模式下,你在 Matplotlib 显示的截图上点击起点和目标点来测量距离;自动模式则通过颜色识别棋子和棋盘。
这个也能用在 iOS 设备上吗?README 中提到了安卓和 iOS 两者的设置步骤,但文中描述的核心截图和控制机制依赖 ADB,而 ADB 是安卓平台的工具。
脚本如何决定按压屏幕的时长?它先计算角色当前位置与目标平台之间的像素距离,再把该距离按比例换算成按压时长,从而通过 ADB 触发跳跃。
为什么没有一键安装程序?这是一个出于业余爱好和学习目的、基于 ADB 自动化的脚本,所以安装只需克隆仓库、通过 ADB 连接手机,然后直接运行 Python 文件。
Creator
wangshub
Size
26.3 MB
Stars
13.8K
Updated
CommitAug 03
Age
8y
Commits · 90 Days