使用 Kotlin 完成 微信跳一跳 的自动找点

2017-12-30 12:55:12 +08:00
 uglyer

https://github.com/uglyer/wechat_jump_ai_kotlin

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 # 下载截屏文件到本地
  1. 得到手指按的时间 t
  2. 时间 = 距离 / 速度(常量) t = L / k
  3. L = p2 - p1
  4. 获取到起始点和结束点的坐标

源码


开发环境:Kotlin, IetelliJ IDEA

https://github.com/uglyer/wechat_jump_ai_kotlin

使用方法


  1. 在电脑上下载好 adb
  2. 打开安卓手机的 usb 调试模式并授权连接的电脑
  3. 打开微信跳一跳,并点击开始
  4. Constans.kt中配置好 adb 路径与截图路径,运行
  5. 会自动识别完成跳跃

参考


https://github.com/easyworld/PlayJumpJumpWithMouse https://github.com/iOSDevLog/JumpJump

15861 次点击
所在节点    Kotlin
40 条回复
wwek
2017-12-30 13:09:38 +08:00
补全各种语言
exalex
2017-12-30 13:17:27 +08:00
6666 安卓模拟器能否使用? 楼主测试最高多少分
m3s
2017-12-30 13:19:21 +08:00
真的是 6,我玩这个都要崩溃了
zj299792458
2017-12-30 13:25:27 +08:00
获取终点坐标是怎么做到的……
uglyer
2017-12-30 13:27:15 +08:00
@exalex 现在 500 多分,还在训练各种情况.
uglyer
2017-12-30 13:30:04 +08:00
@zj299792458 现在用最简单的方式,扫颜色,自动找到背景色 , 排除背景色的范围 ,除此之外第一个其它颜色就是目标点。
没有去找图形,这样很容易死在距离特别近的位置.
harwck
2017-12-30 13:33:49 +08:00
666 ……回学校试试
uglyer
2017-12-30 14:16:46 +08:00
@harwck hahahaha 快去给我点星星。
nutting
2017-12-30 14:37:27 +08:00
怎么弄呢,缺什么 iosdev 包
uglyer
2017-12-30 14:56:17 +08:00
@nutting 重新拉取一下,更新了.
hardman
2017-12-30 15:32:37 +08:00
关键是我今天配置一天 adb 就是不行
hardman
2017-12-30 15:35:08 +08:00
adb shell 老跑错 error:device not found 各种姿势都试过了,大佬可以给个教程吗?
cdlnls
2017-12-30 15:38:19 +08:00
我的 python 自动找点也快完成了。。。
hsuan
2017-12-30 15:48:59 +08:00
@hardman #12 也许你用的是 iphone
uglyer
2017-12-30 15:52:37 +08:00
@hardman 手机打开开发者模式,允许 usb 调试.
hardman
2017-12-30 15:56:46 +08:00
@uglyer 我用的小米手机,手机打开了开发者模式允许 usb 调试
hsuan
2017-12-30 16:26:09 +08:00
用 intellj 打开了,不知道要怎么运行
hardman
2017-12-30 16:26:09 +08:00
问题已解决:首先运行 adb 的时候不要先 adb 这样的话 adb.exe 就会占用端口号,直接进入子目录然后直接用 adb shell 命令即可
uglyer
2017-12-30 16:30:51 +08:00
@hsuan Main.kt main 方法,run
hardman
2017-12-30 16:40:37 +08:00
@uglyer adb 路径与截图路径这个一般在哪,或者在那里配置

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/418831

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX