Skip to content

SimonFuu/wechat-jump

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

实现原理

  1. 通过 adb 工具,将游戏界面的截图 pull 到电脑上的指定目录中;
  2. 程序检索截图中的指定区域内(大体是 height / 3 —— 2 * height / 3 这个区域内)的像素点,通过遍历这些像素点的颜色信息来确定起止点; 终点计算方法,引用了 python 微信《跳一跳》辅助 的相关计算方法。
  3. 获取起止点坐标后,计算两点间距离 l ;再使用 l * 时间系数 x 得到触屏时间;
  4. 使用 adb 工具,执行屏幕点击操作,完成棋子跳跃过程。

Requirements:

  1. 电脑安装了 ADB 驱动;
  2. 电脑安装了 php-cliphp-gd 扩展
  3. 安卓手机,并启用了开发者模式(关闭类似 锤子手机 大爆炸 的功能)

RUN

  1. 手机打开微信 跳一跳 游戏界面
  2. 手机连接电脑,然后运行如下命令
cd path/to/code
php main.php

其他

  1. 如果需要启用调试功能,请将 define('DEBUG', false); 中的 false 改为 true。 程序会将每一步计算出的点的位置标记到截图中,并保存到 debug 目录下。
  2. define('TRAINING', false); 为训练表示,将其设置为 true 后,程序会使用 training-data 目录中的截图进行训练测试。 该操作不会进行截屏及跳跃操作。

仍存在的问题

  1. 如果棋子中点超过了中线位置,那么在检索终点位置时,仍会从原棋子位置检索,进而导致获取终点坐标异常!
  2. 获取终点算法仍需进一步的优化。有一定几率会出现终点坐标异常的情况。

About

微信跳一跳 PHP 版脚本

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages