diff --git a/src/main/java/com/yutou/qqbot/data/jianr/JianRScriptV2Data.java b/src/main/java/com/yutou/qqbot/data/jianr/JianRScriptV2Data.java index 76801c5..25184a0 100644 --- a/src/main/java/com/yutou/qqbot/data/jianr/JianRScriptV2Data.java +++ b/src/main/java/com/yutou/qqbot/data/jianr/JianRScriptV2Data.java @@ -22,5 +22,6 @@ public class JianRScriptV2Data { public static final String formationType = "formationType"; public static final String dialog_go = "dialog_go"; public static final String dialog_back = "dialog_back"; + public static final String dialog_assets = "dialog_assets"; } } diff --git a/src/main/java/com/yutou/qqbot/utlis/JianRTaskManager.java b/src/main/java/com/yutou/qqbot/utlis/JianRTaskManager.java index be0fb31..43e9c3a 100644 --- a/src/main/java/com/yutou/qqbot/utlis/JianRTaskManager.java +++ b/src/main/java/com/yutou/qqbot/utlis/JianRTaskManager.java @@ -11,9 +11,9 @@ import java.util.List; import java.util.Random; public class JianRTaskManager { - public static final String Redis_Script ="jianrScript_Script"; - public static final String Redis_Device="jianrScript_Devices"; - public static final String Redis_RunIndex="jianrScript_RunIndex"; + public static final String Redis_Script = "jianrScript_Script"; + public static final String Redis_Device = "jianrScript_Devices"; + public static final String Redis_RunIndex = "jianrScript_RunIndex"; private static JianRTaskManager instance; private JianRScriptV2Data task; private AndroidDevice device; @@ -41,7 +41,7 @@ public class JianRTaskManager { task = data; this.device = device; runIndex = 0; - String s = RedisTools.getHashMap(Redis_RunIndex,data.getTitle()); + String s = RedisTools.getHashMap(Redis_RunIndex, data.getTitle()); if (s != null) { runIndex = Integer.parseInt(s); } @@ -60,20 +60,20 @@ public class JianRTaskManager { try { log("已运行: " + runIndex + " 次"); for (JianRScriptV2Data.Script script : task.getScript()) { - if(!isRunning()){ + if (!isRunning()) { log("任务已停止"); break; } log(script.getTitle()); JianRTaskManager.this.run(device, modelId, script); try { - Thread.sleep((long) getRandom(0, script.getRandomNextWaitTime()*1000, script.getNextWaitTime()*1000)); + Thread.sleep((long) getRandom(0, script.getRandomNextWaitTime() * 1000, script.getNextWaitTime() * 1000)); } catch (Exception e) { throw new RuntimeException(e); } } runIndex++; - RedisTools.setHashMap(Redis_RunIndex,task.getTitle(),runIndex+""); + RedisTools.setHashMap(Redis_RunIndex, task.getTitle(), runIndex + ""); log("循环一次任务"); } catch (Exception e) { running = false; @@ -101,6 +101,9 @@ public class JianRTaskManager { case JianRScriptV2Data.ScriptModel.dialog_back: vector2D = getDialogCoords(device, gameDisplay, true); break; + case JianRScriptV2Data.ScriptModel.dialog_assets: + vector2D = getDialogAssetsCoords(device, gameDisplay); + break; default: if (script.getActivity().startsWith(JianRScriptV2Data.ScriptModel.formationType)) { vector2D = getNextFormationCoords(device, gameDisplay, Integer.parseInt(script.getActivity().split("#")[1])); @@ -233,6 +236,18 @@ public class JianRTaskManager { return v2d; } + /** + * 获取资源对抗确定坐标 + * + * @return 坐标 + */ + private Vector2D getDialogAssetsCoords(AndroidDevice device, AndroidDevice.GameDisplay gameDisplay) { + Vector2D v2d = new Vector2D(); + v2d.setX(gameDisplay.getWidth() * 0.5 + gameDisplay.getStart().getX()); + v2d.setY(gameDisplay.getHeight() * 0.5433 + gameDisplay.getStart().getY()); + return v2d; + } + public static void main(String[] args) { AndroidDevice device = new AndroidDevice(); AndroidDevice.DeviceDisplay deviceDisplay = new AndroidDevice.DeviceDisplay(); @@ -264,7 +279,7 @@ public class JianRTaskManager { System.out.println("device = " + device); String jsonString = "{\"name\":\"1-1Test\",\"script\":[{\"name\":\"点击地图\",\"activity\":\"map\",\"nextWaitTime\":2,\"randomNextWaitTime\":3},{\"name\":\"出击\",\"activity\":\"attack\",\"nextWaitTime\":12,\"randomNextWaitTime\":2},{\"name\":\"战斗\",\"activity\":\"attack\",\"nextWaitTime\":2,\"randomNextWaitTime\":3},{\"name\":\"选择单纵\",\"activity\":\"formationType#0\",\"nextWaitTime\":20,\"randomNextWaitTime\":5},{\"name\":\"结算1\",\"activity\":\"map\",\"nextWaitTime\":2,\"randomNextWaitTime\":3},{\"name\":\"结算2\",\"activity\":\"map\",\"nextWaitTime\":2,\"randomNextWaitTime\":3},{\"name\":\"获取舰娘\",\"activity\":\"map\",\"nextWaitTime\":2,\"randomNextWaitTime\":3},{\"name\":\"前进\",\"activity\":\"dialog_go\",\"nextWaitTime\":12,\"randomNextWaitTime\":3},{\"name\":\"战斗\",\"activity\":\"attack\",\"nextWaitTime\":2,\"randomNextWaitTime\":3},{\"name\":\"选择梯形\",\"activity\":\"formationType#3\",\"nextWaitTime\":20,\"randomNextWaitTime\":5},{\"name\":\"结算1\",\"activity\":\"map\",\"nextWaitTime\":2,\"randomNextWaitTime\":3},{\"name\":\"结算2\",\"activity\":\"map\",\"nextWaitTime\":2,\"randomNextWaitTime\":3},{\"name\":\"获取舰娘\",\"activity\":\"map\",\"nextWaitTime\":2,\"randomNextWaitTime\":3}]}"; JianRScriptV2Data script = JSON.parseObject(jsonString, JianRScriptV2Data.class); - manager.setTask(script,device); + manager.setTask(script, device); manager.setModelId(0); manager.start(); } @@ -274,7 +289,6 @@ public class JianRTaskManager { device.getDeviceId(), v2d.getX(), v2d.getY()); - System.out.println(exec); AppTools.exec(exec , null, false, false); } diff --git a/web/jianrTask.html b/web/jianrTask.html index f7748a4..39584fb 100644 --- a/web/jianrTask.html +++ b/web/jianrTask.html @@ -48,7 +48,7 @@ ' "script":[\n' + ' {\n' + ' "title":"",\n' + - ' "activity":"map|attack|formationType#{0-4}|dialog_go|dialog_back",\n' + + ' "activity":"map|attack|formationType#{0-4}|dialog_go|dialog_back|dialog_assets",\n' + ' "nextWaitTime": 0,\n' + ' "randomNextWaitTime": 0\n' + ' }\n' +