阿里巴巴中台部门急需P7层级的Java技术专家。若是有意向的同窗,欢迎投简历到huasong.cl@alibaba-inc.com或者掘金站内信给我。html
运行起来的同窗,欢迎在评论区里,贴出本身如今中心点的命中率。java
若是有同窗对Android无障碍服务熟悉而且有时间有精力,能够实现一个基于Android无障碍服务的外挂,那样就不须要链接ADB与电脑了。git
我没有想到有那么多同窗问我如何导入项目。主要的问题在于:github
程序控制小人自动跳,几乎每次命中中心点。shell
为了更好的展现运行效果,我贴一个刚刚录制的视频。v.youku.com/v_show/id_X…
安全
若是你的运行效果,不像这个视频中所示,请必定要认真阅读“舒适提示”这个章节。bash
附上 GitHub 地址: github.com/burningcl/w… 欢迎你们与我交流意见。破解过程,总共花了3个小时,不断地调整算法与参数,所以代码比较乱,还请见谅。微信
根据同窗们的反馈,我今天午休时,抽了20分钟,优化了一下算法。工具
提升瓶子的识别率。
因为瓶子的颜色比较接近,新实现了一种算法用于瓶子的瓶盖的识别。效果以下:
提升出现特殊盒子时,下步的计算。
特殊盒子,例如留声机,他的动效时间很长,并且很大,对下一步的识别产生干扰。所以,改进了一下算法,减小干扰的影响。效果以下:
新增长了HackTest.java文件。你们在运行Hack.java后,会在wechat_jump_hack/out/production/wechat_jump_hack/imgs/input/
目录下存放截图文件。运行Hack.java结束后,再运行HackTest.java,会在wechat_jump_hack/out/production/wechat_jump_hack/imgs/output/
下生成input目录中的截图的位置标记。
若是以为跳得不许的同窗,请运行HackTest.java文件,观察标记的位置是否准确。若是准确的话,请自行调整弹跳系数。笔者没法作到我所用的弹跳系数适用于全部的设备。
添加对命中中心点的统计
screenshot, file: /Users/chenliang/SkylineProjects/wechat_jump_hack_1/out/production/wechat_jump_hack_1/imgs/input/1092.png
438, 364
pos, x: 404, y: 1104
find myPos, succ, (404, 1104)
191, 217, 194
232, 258, 266
top, x: 732, y: 803
true
left, x: 599, y: 880
right, x: 868, y: 880
whitePoint: 752, 715, 887, 866
find whitePoint, succ, (733, 876), centerHit: 901, total: 1093
find nextCenter, succ, (733, 876)
distance: 554
/Users/chenliang/Library/Android/sdk/platform-tools/adb shell input swipe 400 400 400 400 554
复制代码
根据个人运行结果,命中中心点的几率,大约为82%~85%。由于微信也在改进,命中中心点的难度也在提升
对于最后的成绩没法提交
具体识别的算法,我如今没有时间总结了(之后有时间我能够去总结一下),你们能够先看源码。源码中部分参数是在笔者的手机上进行调试的(分辨率为1080),你们能够根据本身手机,进行相应修改。
识别玩家位置
以下图中白色空心方格所示:
识别目标方块位置
以下图中红色实心方格所示,识别最上面的顶点,最左边的点,与最右边的点,从而计算出中心点:
识别目标方块中心圆点的位置
若是你前一次踩中中心点,会有下一个中心点的提示(一个白色的圆点)。