用 PHP 玩微信跳一跳
Clone or download
metowolf Merge pull request #31 from PrintNow/patch-1
修改 screen 为绝对路径
Latest commit 42dda5b Jan 9, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
screen 🎄 最好的语言 Dec 31, 2017
LICENSE Initial commit Dec 31, 2017
README.md 2.5D距离修正 Jan 4, 2018
config.php 2.5D距离修正 Jan 4, 2018
data 🍇 修复部分失败案例,调整参数 Jan 2, 2018
run.php 修改第122行 Jan 6, 2018

README.md

JumpJumpHelper

最好的语言 PHP 玩微信跳一跳

更新

  • 2018.01.05
  • 固定延迟改随机延迟,可设范围
  • 增加随机点按下和稍微挪动抬起,模拟手指
  • 2.5D距离修正,修正这种情况:如图
  • 2018.01.01
  • 修复屏幕分辨率兼容性
  • 采用 Mathematica 拟合函数
  • 2017.12.31
  • 新的中间点匹配函数
  • 基于二次函数拟合计算按压时间

依赖

  • php-cli (>=5.6)
  • php-gd
  • adb 调试工具
  • android 手机

食用方式

  1. 手机进入设置 > 开发者选项,打开 USB 调试、模拟触控
  2. 手机连接电脑,安装 adb 相关驱动,检查 adb devices 命令是否能显示设备 ID
  3. 微信进入跳一跳游戏,点击开始
  4. 电脑运行 php run.php

如果发现跳跃过远/近,可以适当调节 config.php 中的参数

效果图

效果图

效果图

脚本原理

  1. 截取手机屏幕,并传到电脑上。
  2. 通过分析图片,取得当前任务及其目标位置
  3. 计算按压时间,通过 adb 命令模拟点按操作

识别原理

  • 人物位置:通过颜色匹配人物底座第一个单峰位置
  • 目标位置:排除背景色后,从上至下找到第一个单峰位置,对于未找到的情况采用角度矫正(所有识别数据储存在 screen 文件夹中)

拟合函数

mathematica

参考资料

项目 作者
教你用Python来玩微信跳一跳 @wangshub
微信跳一跳自动玩耍工具 @aOrz