# 教你用 Python 来玩微信跳一跳
[https://wangshub.github.io](https://wangshub.github.io)
[GitHub 项目地址](https://github.com/wangshub/wechat_jump_game)
* QQ 群
* github微信跳一跳 **314659953**(已满)
* github微信跳一跳(2) **176740763**(满)
* 跳一跳 **89213434**
### **更新日志:**
* 2017-12-29 :
* 增加更新自动化运行脚本,感谢 GitHub 上的[@binderclip](https://github.com/binderclip)
* 2017-12-30 :
* 请将安卓手机的 USB 调试模式打开,设置》更多设置》开发者选项》USB 调试,如果出现运行脚本后小人不跳的情况,请检查是否有打开“USB 调试(安全模式)”
* 根据大家反馈:1080 屏幕距离系数 **1.393**,2K 屏幕为 **1**
* 添加部分机型配置文件,可直接复制使用
### 相关问题
> 请先查阅一下 issue 区
- 参数出错请在这里提交:[issues/62](https://github.com/wangshub/wechat_jump_game/issues/62)
- iOS 相关问题:[issues/99](https://github.com/wangshub/wechat_jump_game/issues/99) 和
[/issues/4](https://github.com/wangshub/wechat_jump_game/issues/4)
- [iOS 苹果手机操作步骤](#ios-%E6%89%8B%E6%9C%BA%E6%93%8D%E4%BD%9C%E6%AD%A5%E9%AA%A4)
- [Android 安卓手机操作步骤](#%E5%AE%89%E5%8D%93%E6%89%8B%E6%9C%BA%E6%93%8D%E4%BD%9C%E6%AD%A5%E9%AA%A4)
- 注意:别刷太高,已经有同学遇到分数清零的情况了[164](https://github.com/wangshub/wechat_jump_game/issues/164)
- 如果有找不到`./autojump.png`图片的错误,请查阅[194](https://github.com/wangshub/wechat_jump_game/issues/194)
- 小白用户可以参考一个B站UP主的视频教程 [【微信跳一跳】教你如何不用双手还能霸占排行榜第一名](https://www.bilibili.com/video/av17796840/?redirectFrom=h5)
## 游戏模式
> 2017 年 12 月 28 日下午,微信发布了 6.6.1 版本,加入了「小游戏」功能,并提供了官方 DEMO「跳一跳」。
这是一个 2.5D 插画风格的益智游戏,玩家可以通过按压屏幕时间的长短来控制这个「小人」跳跃的距离。可能刚开始上手的时候,因为时间距离之间的关系把握不恰当,只能跳出几个就掉到了台子下面。
玩法类似于《Flappy Bird》
![](https://ws1.sinaimg.cn/large/c3a916a7gy1fmxe4gnfhnj20hs0a0t8q.jpg)
**如果能精确测量出起始和目标点之间测距离,就可以估计按压的时间来精确跳跃?所以花 2 个小时写了一个 Python 脚本进行验证**
希望不要把分数刷太高,容易没朋友的。。。
## 操作规范
> 考虑到生产环境的规范性,实验与项目之间不受干扰,请尽量用新的虚拟环境来完成实验
MacOS/Win,请使用如下操作开辟新的虚拟环境(不强调表示MacOS/Win相同操作)
- 下载Anaconda. MacOS:默认安装/Win:注意安装时候勾选配置路径或者之后手动配置,直至cmd后conda关键字有效
- 查看所有的虚拟环境`conda info --envs`
- 使用命令:`conda create -n wechat_env python=3`,创建名为`wechat_env`的虚拟环境,且配置python版本为python3
- 激活虚拟环境:MacOS: `source activate wechat_env`/Win:`activate wechat_env`
- 安装所需要的包,比如`matplotlib`等,建议使用`conda install package_name`来避免虚拟环境包的路径问题
**接下来的操作非必须,仅当实验完成后可操作,试验阶段全程在虚拟环境中操作,进入虚拟环境会有前置符号表示如:**
```
(wechat_env) ~/Desktop/wechat_jump_game-master>
```
- 退出虚拟环境:MacOS: `source deactivate wechat_env` / Win: `deactivate wecha_env`
- 删除虚拟环境: `conda remove -n wechat_env --all`
## 工具介绍
- Python
- 手机或模拟器
- [ADB](https://developer.android.com/studio/releases/platform-tools.html) 驱动,可以到[这里](https://adb.clockworkmod.com/)下载
- 相关依赖
如果你是`iOS` + MacOS,请参考下面的配置:
- 使用真机调试 WDA,参考 iOS 真机如何安装[WebDriverAgent · TesterHome](https://testerhome.com/topics/7220)
- 安装[openatx/facebook-wda](https://github.com/openatx/facebook-wda)
- Python 3
如果你是 `Android` + MacOS,请参考下面的配置:
- Python 3
- 使用brew进行安装 `brew cask install android-platform-tools`
- 安装完后插入安卓设备且安卓已打开usb调试模式,终端输入 `adb devices` ,显示如下表明设备已连接
```
List of devices attached
6934dc33 device
```
## 依赖安装
``` bash
pip install -r requirements.txt
```
## 原理说明
1. 将手机点击到《跳一跳》小程序界面;
2. 用 ADB 工具获取当前手机截图,并用 ADB 将截图 pull 上来
```shell
adb shell screencap -p /sdcard/autojump.png
adb pull /sdcard/autojump.png .
```
3. 计算按压时间
* 手动版:用 Matplotlib 显示截图,用鼠标点击起始点和目标位置,计算像素距离;
* 自动版:靠棋子的颜色来识别棋子,靠底色和方块的色差来识别棋盘;
4. 用 ADB 工具点击屏幕蓄力一跳;
```shell
adb shell input swipe x y x y time(ms)
```
## 安卓手机操作步骤
- 安卓手机打开 USB 调试,设置》开发者选项》USB 调试
- 电脑与手机 USB 线连接,确保执行`adb devices`可以找到设备 ID
- 界面转至微信跳一跳游戏,点击开始游戏
- 运行`python wechat_jump_auto.py`,如果手机界面显示 USB 授权,请点击确认
- 请按照你的手机分辨率从`./config/`文件夹找到相应的配置,拷贝到 *.py 同级目录`./config.json`(如果屏幕分辨率能成功探测,会直接调用 config 目录的配置,不需要复制)
## 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`参数,直到获得最佳取值
## 实验结果
![](https://ws1.sinaimg.cn/large/c3a916a7gy1fmxel5dkxvj20u01hcmzx.jpg)
## TODO
- [x] 可以对拉上来的图片进行颜色分割,识别小人和目标中心,这样就不需要手动点击自动弹跳。
> 事实证明,机器人比人更会玩儿游戏。
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
微信小游戏跳一跳辅助脚本Python源码 (137个子文件)
.gitignore 44B
6_config.json 226B
mi5x_config.json 224B
mi5_config.json 220B
note2_config.json 220B
honor_note8_config.json 219B
config.json 219B
config.json 219B
mi6_config.json 219B
config.json 218B
pro2_config.json 217B
8P_7P_6sP_6P_config.json 215B
default.json 130B
config.json 130B
config.json 127B
s8.json 127B
s7edge_config.json 124B
LICENSE 1KB
README.md 7KB
CONTRIBUTING.md 1B
092906.png 252KB
092517.png 229KB
092800.png 225KB
092326.png 220KB
092333.png 218KB
092540.png 212KB
092911.png 210KB
092734.png 209KB
092152.png 209KB
092522.png 209KB
092157.png 202KB
092146.png 197KB
092133.png 197KB
092749.png 196KB
092754.png 196KB
092349.png 194KB
092226.png 192KB
092344.png 192KB
092216.png 192KB
092233.png 191KB
092141.png 189KB
092744.png 189KB
092202.png 184KB
092339.png 184KB
092209.png 180KB
092739.png 178KB
092700.png 176KB
092653.png 176KB
092642.png 171KB
092546.png 165KB
092629.png 162KB
091940.png 159KB
092636.png 156KB
092705.png 155KB
092806.png 155KB
091807.png 143KB
092013.png 138KB
091953.png 138KB
091755.png 135KB
091801.png 134KB
092007.png 132KB
092000.png 129KB
092355.png 129KB
092839.png 127KB
092406.png 126KB
091948.png 122KB
092427.png 121KB
092844.png 120KB
092611.png 119KB
092618.png 119KB
092310.png 119KB
092624.png 118KB
092317.png 115KB
091749.png 115KB
091729.png 115KB
092300.png 115KB
091840.png 114KB
091848.png 114KB
092855.png 114KB
092049.png 112KB
092901.png 112KB
092835.png 111KB
091819.png 111KB
091812.png 110KB
092850.png 109KB
092255.png 109KB
091830.png 109KB
092505.png 108KB
092055.png 107KB
092557.png 107KB
092422.png 106KB
091824.png 105KB
092401.png 105KB
092043.png 105KB
092035.png 105KB
092117.png 104KB
092112.png 103KB
092411.png 102KB
092416.png 102KB
092511.png 102KB
共 137 条
- 1
- 2
资源评论
- qq_276312452018-01-03很强大的黑科技
白水baishui
- 粉丝: 5w+
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功