方法如下:
手机进入设置 > 开发者选项,打开 USB 调试、模拟触控
手机连接电脑,安装 adb 相关驱动,检查 adb devices 命令是否能显示设备 ID
微信进入跳一跳游戏,点击开始
电脑运行 php run.php
如果发现跳跃过远 /近,可以适当调节 config.php 中的参数

原理

截取手机屏幕,并传到电脑上。
通过分析图片,取得当前任务及其目标位置
计算按压时间,通过 adb 命令模拟点按操作
其实大部分原理和前人 python、nodejs 版的是差不多的,这里通过 php-gd 库来实现像素的提取。

棋子的识别,通过多次取棋子底部最宽部分的颜色均值来实现,正确率挺高的。
棋盘的识别,排除背景色后,按连续像素长度来匹配,找到第一个峰值,取中心位置。在大部分情况下都能正确识别,但遇到棋子和下一个棋盘重叠(挨得很近)的情况就会出错。
效果图:
用 PHP 玩微信跳一跳-小叶博客