https://github.com/uglyer/wechat_jump_ai_kotlin
微信小游戏 跳一跳 kotlin AI 自动寻找开始跳的坐标,目标坐标.
微信小程序可以玩游戏了,我们来破解一下《跳一跳》这个官方出品的小游戏吧。
用 usb 调试安卓手机,用 adb 截图并用鼠标测量距离,然后计算按压时间后模拟按压。
$ adb shell input swipe <x1> <y1> <x2> <y2> [duration(ms)] (Default: touchscreen) # 模拟长按 $ adb shell screencap <filename> # 保存截屏到手机 $ adb pull /sdcard/screen.png # 下载截屏文件到本地
开发环境:Kotlin, IetelliJ IDEA
https://github.com/uglyer/wechat_jump_ai_kotlin
Constans.kt
中配置好 adb 路径与截图路径,运行https://github.com/easyworld/PlayJumpJumpWithMouse https://github.com/iOSDevLog/JumpJump
![]() | 1 wwek 2017-12-30 13:09:38 +08:00 ![]() 补全各种语言 |
![]() | 2 exalex 2017-12-30 13:17:27 +08:00 6666 安卓模拟器能否使用? 楼主测试最高多少分 |
![]() | 3 m3s 2017-12-30 13:19:21 +08:00 via iPhone ![]() 真的是 6,我玩这个都要崩溃了 |
4 zj299792458 2017-12-30 13:25:27 +08:00 via iPhone 获取终点坐标是怎么做到的…… |
![]() | 6 uglyer OP @zj299792458 现在用最简单的方式,扫颜色,自动找到背景色 , 排除背景色的范围 ,除此之外第一个其它颜色就是目标点。 没有去找图形,这样很容易死在距离特别近的位置. |
7 harwck 2017-12-30 13:33:49 +08:00 via iPhone 666 ……回学校试试 |
![]() | 9 nutting 2017-12-30 14:37:27 +08:00 via Android 怎么弄呢,缺什么 iosdev 包 |
![]() | 11 hardman 2017-12-30 15:32:37 +08:00 关键是我今天配置一天 adb 就是不行 |
![]() | 12 hardman 2017-12-30 15:35:08 +08:00 adb shell 老跑错 error:device not found 各种姿势都试过了,大佬可以给个教程吗? |
![]() | 13 cctv6 2017-12-30 15:38:19 +08:00 via iPhone 我的 python 自动找点也快完成了。。。 |
![]() | 17 hsuan 2017-12-30 16:26:09 +08:00 用 intellj 打开了,不知道要怎么运行 |
![]() | 18 hardman 2017-12-30 16:26:09 +08:00 问题已解决:首先运行 adb 的时候不要先 adb 这样的话 adb.exe 就会占用端口号,直接进入子目录然后直接用 adb shell 命令即可 |
![]() | 21 hsuan 2017-12-30 17:03:13 +08:00 费了点劲总算跑起来了,但第一步都过不了? 一下就跳出屏幕去了 |
![]() | 22 uglyer OP @hardman Constants.kt 需要先运行游戏在打开,可以在 AI.kt 修改一下 magic number,不同的手机有所区别的,默认是 2.2,可以适当加减调整. |
![]() | 23 uglyer OP @hsuan 需要先运行游戏在打开,可以在 AI.kt 修改一下 magic number,不同的手机有所区别的,默认是 2.2,可以适当加减调整. |
![]() | 24 hardman 2017-12-30 19:08:53 +08:00 可惜了跑起来是蓝屏 |
![]() | 25 stardust21 2017-12-30 22:01:10 +08:00 识别不太准,不能连续加分 |
![]() | 26 stardust21 2017-12-30 22:01:39 +08:00 跑了两次,都没过 300 分。。。 |
27 gongziya 2017-12-30 22:23:18 +08:00 识别不准确啊,每次都把分数识别成目标方块,第一步都跳不出去 |
![]() | 29 uglyer OP |
![]() | 30 dangyuluo 2017-12-31 07:52:19 +08:00 可以试试 Harris Corner 算法,找到菱形的四个角。 |
31 cljnnn 2017-12-31 08:17:19 +08:00 via Android @uglyer 一个建议。可以把屏幕前 3 分之一排除掉再识别。如果有小白点识别小白点(颜色恒定)更稳妥,还可以连续加分。 |
![]() | 32 uglyer OP ![]() |
![]() | 33 uglyer OP ![]() |
![]() | 34 mritd 2017-12-31 11:21:51 +08:00 via iPhone 手撸 140 路过 |
36 lxy42 2017-12-31 12:49:01 +08:00 via Android 我写了个 Python 的,跳到 5000 多分。重点是保证每次都跳到中心点,加分快一点 |
38 chenqh 2017-12-31 15:45:37 +08:00 via iPhone 为甚么感觉是个人就会 opencv 但是我不会呀 |