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
补全各种语言
|
2
exalex 2017-12-30 13:17:27 +08:00
6666 安卓模拟器能否使用? 楼主测试最高多少分
|
3
m3s 2017-12-30 13:19:21 +08:00 via iPhone 1
真的是 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
cdlnls 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 但是我不会呀
|