决斗之城 Android Auto.js 自动挂机

  • 游戏名:《决斗之城》(国内仿照《游戏王》做的一款游戏)
  • 包名: com.leocool.yugioh.ay

实现原理#

看见下面这几个图片则自动点击。

进入决斗
开始匹配
自动出牌
胜利计数
失败计数
升级返回
对局结束返回
掉线确定

脚本内容#

yugioh.jsview raw
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
if (!requestScreenCapture(true)) {
toast("请求截图失败");
exit();
}

var btns = {
vs: images.read('/sdcard/auto-js-yugioh/vs.png'),
start: images.read('/sdcard/auto-js-yugioh/start.png'),
auto: images.read('/sdcard/auto-js-yugioh/auto.png'),
win: images.read('/sdcard/auto-js-yugioh/win.png'),
lose: images.read('/sdcard/auto-js-yugioh/lose.png'),
back2: images.read('/sdcard/auto-js-yugioh/back2.png'),
back: images.read('/sdcard/auto-js-yugioh/back.png'),
ok: images.read('/sdcard/auto-js-yugioh/ok.png'),
};

var counts = {
vs: 0,
start: 0,
auto: 0,
win: 0,
lose: 0,
back: 0,
back2: 0,
ok: 0,
};

var w = floaty.window(
<frame gravity="center">
<text id="text" textColor="white">悬浮文字</text>
</frame>
);
w.exitOnClose();
w.text.click(() => {
w.setAdjustEnabled(!w.isAdjustEnabled());
});

for (; ;) {
var img = captureScreen();
for (var i in btns) {
var p = findImage(img, btns[i], {});
if (p) {
click(p.x + btns[i].getWidth() / 2, p.y + btns[i].getHeight() / 2);
counts[i]++;
var str = 'WIN: ' + counts.win + '\n' + 'LOSE: ' + counts.lose;
ui.run(function () {
w.text.setText(str);
});
}
}
sleep(1500);
}

功能#

  • 自动开始对局
  • 切换成自动出牌模式
  • 胜利与失败计数

注意事项#

  • 只能在 1080p (1920x1080) 的屏幕上运行。
  • 只能在 Android 7.0 以上免 root 使用(较低版本的 Android 必须使用 root 权限打开)
  • 自己使用时需要下载上述几个图片,并且修改脚本中的文件路径。

相关链接#