ICe 3 luni în urmă
părinte
comite
258d51b7d5

+ 51 - 48
conf/config.properties

@@ -1,56 +1,59 @@
 []
-windowX = 17
+windowX = 2027
 windowY = 14
-windowWidth = 1091.0
+windowWidth = 1593.0
 windowHeight = 454.0
 extendedState = 0
 appTheme = Darcula Theme
 [robot]
 selectedWindowTitle = sencorsta - sencorsta.com - 远程桌面连接
-lastUpdateTime = 1717145729428
+lastUpdateTime = 1717573096789
 [SceneData]
-SceneMain = {"data":{"isDone":false,"count":0,"done":false},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Challenge = {"data":{"isDone":false,"count":0,"done":false},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Challenge_Extreme = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Energy = {"data":{"isDone":false,"count":0,"done":false},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Energy_Free = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1716379200000,"resetType":"SPECIAL_RULES"}
-SceneMain_Energy_Friend = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Energy_Home = {"data":{"isDone":false,"count":2,"done":false},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Energy_Home_Select = {"data":{"isDone":false,"count":6,"done":false},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Energy_Home_SelectRes = {"data":{"isDone":false,"count":4,"done":false},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Energy_buy = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Explore = {"data":{"isDone":false,"count":0,"done":false},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Explore_Gift = {"data":{"isDone":false,"count":0,"done":false},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Explore_Gift_Evil = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Explore_King = {"data":{"isDone":false,"count":0,"done":false},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Explore_King_hell = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Explore_King_kings = {"data":{"isDone":false,"count":9,"done":false},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Explore_Leader = {"data":{"isDone":false,"count":0,"done":false},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Explore_Leader_quick = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Explore_World = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Family = {"data":{"isDone":false,"count":0,"done":false},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Family_Help = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Family_Info = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Family_Out = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Family_Out_BigBoss = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Family_Out_Boss = {"data":{"isDone":false,"count":3,"done":false},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Family_Out_Fight = {"data":{"isDone":false,"count":3,"done":false},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Family_Task = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Fight = {"data":{"isDone":false,"count":0,"done":false},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Fight_Endless = {"data":{"isDone":false,"count":0,"done":false},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Fight_Endless_Quick = {"data":{"isDone":false,"count":2,"done":false},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Fight_Endless_Reward = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Fight_Gym = {"data":{"isDone":false,"count":0,"done":false},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Fight_Gym_Dragon = {"record":{"data":{"isDone":true,"count":99,"done":true},"nextResetTime":1716757200000,"resetType":"WEEKLY_DOUBLE"},"recordSub":{"data":{"isDone":false,"count":0,"done":false},"nextResetTime":1716411600000,"resetType":"DAILY"}}
-SceneMain_Fight_Gym_Wind = {"record":{"data":{"isDone":false,"count":20,"done":false},"nextResetTime":1716757200000,"resetType":"WEEKLY_DOUBLE"},"recordSub":{"data":{"isDone":false,"count":0,"done":false},"nextResetTime":1716411600000,"resetType":"DAILY"}}
-SceneMain_Fight_VS = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Fight_VS_Quick = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Mail = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Qiyu = {"data":{"isDone":false,"count":0,"done":false},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Qiyu_find = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Qiyu_helper = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Qiyu_quest = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1716379200000,"resetType":"SPECIAL_RULES"}
-SceneMain_Role = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1716411600000,"resetType":"DAILY"}
-SceneMain_Role_SkillPoint = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1716370289612,"resetType":"HOUR_3"}
-SceneMain_Task = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1716377131720,"resetType":"HOUR_3"}
-SceneMain_Welfare = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1716411600000,"resetType":"DAILY"}
+SceneMain = {"data":{"isDone":false,"count":0,"done":false},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Challenge = {"data":{"isDone":false,"count":0,"done":false},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Challenge_Extreme = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Energy = {"data":{"isDone":false,"count":0,"done":false},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Energy_Free = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1717588800000,"resetType":"SPECIAL_RULES"}
+SceneMain_Energy_Friend = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Energy_Home = {"data":{"isDone":false,"count":2,"done":false},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Energy_Home_Select = {"data":{"isDone":false,"count":6,"done":false},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Energy_Home_SelectRes = {"data":{"isDone":false,"count":4,"done":false},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Energy_buy = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Explore = {"data":{"isDone":false,"count":0,"done":false},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Explore_Gift = {"data":{"isDone":false,"count":0,"done":false},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Explore_Gift_Evil = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Explore_King = {"data":{"isDone":false,"count":0,"done":false},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Explore_King_hell = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Explore_King_kings = {"data":{"isDone":false,"count":9,"done":false},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Explore_Leader = {"data":{"isDone":false,"count":0,"done":false},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Explore_Leader_quick = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Explore_World = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Family = {"data":{"isDone":false,"count":0,"done":false},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Family_Help = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Family_Info = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Family_Out = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Family_Out_BigBoss = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Family_Out_Boss = {"data":{"isDone":false,"count":3,"done":false},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Family_Out_Fight = {"data":{"isDone":false,"count":3,"done":false},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Family_Task = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Fight = {"data":{"isDone":false,"count":0,"done":false},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Fight_Endless = {"data":{"isDone":false,"count":0,"done":false},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Fight_Endless_Quick = {"data":{"isDone":false,"count":2,"done":false},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Fight_Endless_Reward = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Fight_Gym = {"data":{"isDone":false,"count":0,"done":false},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Fight_Gym_Cloud = {"record":{"data":{"isDone":false,"count":20,"done":false},"nextResetTime":1718571600000,"resetType":"WEEKLY_DOUBLE"},"recordSub":{"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1717621200000,"resetType":"DAILY"}}
+SceneMain_Fight_Gym_Dragon = {"record":{"data":{"isDone":false,"count":20,"done":false},"nextResetTime":1718571600000,"resetType":"WEEKLY_DOUBLE"},"recordSub":{"data":{"isDone":false,"count":0,"done":false},"nextResetTime":1717621200000,"resetType":"DAILY"}}
+SceneMain_Fight_Gym_Wind = {"record":{"data":{"isDone":false,"count":0,"done":false},"nextResetTime":1718571600000,"resetType":"WEEKLY_DOUBLE"},"recordSub":{"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1717621200000,"resetType":"DAILY"}}
+SceneMain_Fight_VS = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Fight_VS_Quick = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Glory = {"data":{"isDone":false,"count":0,"done":false},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Glory_Match = {"record":{"data":{"isDone":false,"count":2,"done":false},"nextResetTime":1719781200000,"resetType":"MONTHLY"},"recordSub":{"data":{"isDone":false,"count":0,"done":false},"nextResetTime":1717621200000,"resetType":"DAILY"}}
+SceneMain_Mail = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Qiyu = {"data":{"isDone":false,"count":0,"done":false},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Qiyu_find = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Qiyu_helper = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Qiyu_quest = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1717588800000,"resetType":"SPECIAL_RULES"}
+SceneMain_Role = {"data":{"isDone":true,"count":99,"done":true},"nextResetTime":1717621200000,"resetType":"DAILY"}
+SceneMain_Role_SkillPoint = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1717577794234,"resetType":"HOUR_3"}
+SceneMain_Task = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1717577794234,"resetType":"HOUR_3"}
+SceneMain_Welfare = {"data":{"isDone":true,"count":0,"done":true},"nextResetTime":1717621200000,"resetType":"DAILY"}

BIN
opencv/scene/glory/back.png


BIN
opencv/scene/glory/check.png


BIN
opencv/scene/glory/enter.png


BIN
opencv/scene/glory/goLeft.png


BIN
opencv/scene/glory/goRight.png


BIN
opencv/scene/glory/match/back.png


BIN
opencv/scene/glory/match/check.png


BIN
opencv/scene/glory/match/close.png


BIN
opencv/scene/glory/match/enter.png


BIN
opencv/scene/glory/match/iknow.png


BIN
opencv/scene/glory/match/over.png


BIN
opencv/scene/glory/match/skip.png


BIN
opencv/scene/glory/match/start.png


BIN
opencv/scene/glory/match/start2.png


BIN
opencv/scene/glory/rightDoor.png


+ 1 - 1
src/main/java/com/sencorsta/rabs/obj/ai/scene/fight/SceneMain_Fight_Gym_Cloud.java

@@ -34,7 +34,7 @@ public class SceneMain_Fight_Gym_Cloud extends SceneWhitSubRecord implements Sce
     private static String PathLose = System.getProperty("user.dir") + "\\opencv\\scene\\fight\\gym\\dragon\\lose.png";
     private static String PathBuy = System.getProperty("user.dir") + "\\opencv\\scene\\fight\\gym\\dragon\\buy.png";
     private static String PathClose = System.getProperty("user.dir") + "\\opencv\\scene\\fight\\gym\\dragon\\close.png";
-    private int maxTime = 20;
+    private int maxTime = 99;
 
 
     @Override

+ 77 - 0
src/main/java/com/sencorsta/rabs/obj/ai/scene/glory/SceneMain_Glory.java

@@ -0,0 +1,77 @@
+package com.sencorsta.rabs.obj.ai.scene.glory;
+
+import cn.hutool.core.thread.ThreadUtil;
+import com.sencorsta.rabs.annotation.SceneAnnotation;
+import com.sencorsta.rabs.obj.ai.AiManage;
+import com.sencorsta.rabs.obj.ai.api.BaseScene;
+import com.sencorsta.rabs.obj.ai.api.Scene;
+import org.opencv.core.Point;
+
+import java.awt.AWTException;
+
+/**
+ * 荣耀竞技
+ */
+@SceneAnnotation("SceneMain")
+public class SceneMain_Glory extends BaseScene implements Scene {
+    @Override
+    public float getPriority() {
+        return  1.9f;
+    }
+
+    private static String PathCheck = System.getProperty("user.dir") + "\\opencv\\scene\\glory\\check.png";
+    private static String PathBack = System.getProperty("user.dir") + "\\opencv\\scene\\glory\\back.png";
+    private static String PathEnter = System.getProperty("user.dir") + "\\opencv\\scene\\glory\\enter.png";
+
+    private static String PathRightdoor = System.getProperty("user.dir") + "\\opencv\\scene\\glory\\rightDoor.png";
+    private static String PathGoLeft = System.getProperty("user.dir") + "\\opencv\\scene\\glory\\goLeft.png";
+    private static String PathGoRight = System.getProperty("user.dir") + "\\opencv\\scene\\glory\\goRight.png";
+
+    @Override
+    public void back() throws AWTException {
+        moveToClick(PathBack, AiManage.getInstance().getCheckPoint());
+    }
+
+    @Override
+    public void open() throws AWTException {
+        while (!check()) {
+            AiManage.getInstance().updateWindow();
+            ThreadUtil.sleep(2000);
+            if (checkHas(PathEnter, AiManage.getInstance().getCheckPoint())) {
+                System.out.println("发现游戏竞技界面...");
+                moveToClick(PathEnter, AiManage.getInstance().getCheckPoint());
+                System.out.println("点击竞技界面");
+                continue;
+            }
+            if (checkHas(PathRightdoor, AiManage.getInstance().getCheckPoint())) {
+                System.out.println("发现右边的门...");
+                moveToClick(PathGoLeft, AiManage.getInstance().getCheckPoint(), new Point(0, -50));
+                System.out.println("往左边走一步");
+                ThreadUtil.sleep(6000);
+            } else {
+                moveToClick(PathGoRight, AiManage.getInstance().getCheckPoint(), new Point(0, -50));
+                System.out.println("往右边走一步");
+                ThreadUtil.sleep(6000);
+            }
+        }
+    }
+
+    @Override
+    public boolean check() throws AWTException {
+        if (checkHas(PathCheck, AiManage.getInstance().getCheckPoint())) {
+            return true;
+        }
+        return false;
+    }
+
+    @Override
+    public void think() {
+
+    }
+
+    @Override
+    public boolean isDone() {
+        return hasChildDone();
+    }
+
+}

+ 126 - 0
src/main/java/com/sencorsta/rabs/obj/ai/scene/glory/SceneMain_Glory_Match.java

@@ -0,0 +1,126 @@
+package com.sencorsta.rabs.obj.ai.scene.glory;
+
+import cn.hutool.core.thread.ThreadUtil;
+import com.sencorsta.rabs.annotation.SceneAnnotation;
+import com.sencorsta.rabs.obj.ai.AiManage;
+import com.sencorsta.rabs.obj.ai.api.BaseScene;
+import com.sencorsta.rabs.obj.ai.api.Scene;
+import com.sencorsta.rabs.obj.ai.api.SceneWhitSubRecord;
+import com.sencorsta.rabs.util.ResettableData;
+import org.opencv.core.Point;
+
+import java.awt.AWTException;
+
+/**
+ * 荣耀竞技-比赛
+ */
+@SceneAnnotation("SceneMain_Glory")
+public class SceneMain_Glory_Match extends SceneWhitSubRecord implements Scene {
+    @Override
+    public float getPriority() {
+        return 2.0f;
+    }
+
+    private static String PathCheck = System.getProperty("user.dir") + "\\opencv\\scene\\glory\\match\\check.png";
+    private static String PathBack = System.getProperty("user.dir") + "\\opencv\\scene\\glory\\match\\back.png";
+    private static String PathEnter = System.getProperty("user.dir") + "\\opencv\\scene\\glory\\match\\enter.png";
+    private static String PathIknow = System.getProperty("user.dir") + "\\opencv\\scene\\glory\\match\\iknow.png";
+    private static String PathStart = System.getProperty("user.dir") + "\\opencv\\scene\\glory\\match\\start.png";
+    private static String PathStart2 = System.getProperty("user.dir") + "\\opencv\\scene\\glory\\match\\start2.png";
+    private static String PathSkip = System.getProperty("user.dir") + "\\opencv\\scene\\glory\\match\\skip.png";
+    private static String PathOver = System.getProperty("user.dir") + "\\opencv\\scene\\glory\\match\\over.png";
+    private static String PathClose = System.getProperty("user.dir") + "\\opencv\\scene\\glory\\match\\close.png";
+    private int maxTime = 99;
+
+    @Override
+    public void back() throws AWTException {
+        moveToClick(PathBack, AiManage.getInstance().getCheckPoint());
+    }
+
+    @Override
+    public void open() throws AWTException {
+        while (!check()) {
+            AiManage.getInstance().updateWindow();
+            ThreadUtil.sleep(2000);
+
+            if (checkHas(PathIknow, AiManage.getInstance().getCheckPoint())) {
+                moveToClick(PathIknow, AiManage.getInstance().getCheckPoint());
+            }
+
+            if (checkHas(PathEnter, AiManage.getInstance().getCheckPoint())) {
+                moveToClick(PathEnter, AiManage.getInstance().getCheckPoint());
+            }
+        }
+    }
+
+    @Override
+    public boolean check() throws AWTException {
+        if (checkHas(PathCheck, AiManage.getInstance().getCheckPoint())) {
+            return true;
+        }
+        return false;
+    }
+
+    @Override
+    public void think() throws AWTException {
+        int count = getRecord().getData().getCount();
+        while (!isDone()) {
+            if (checkHas(PathStart, AiManage.getInstance().getCheckPoint())) {
+                moveToClick(PathStart, AiManage.getInstance().getCheckPoint());
+                ThreadUtil.sleep(2000);
+
+                if (checkHas(PathStart2, AiManage.getInstance().getCheckPoint())) {
+                    moveToClick(PathStart2, AiManage.getInstance().getCheckPoint());
+                    ThreadUtil.sleep(2000);
+                }else {
+                    System.out.println("没有次数了!");
+                    getRecordSub().getData().setDone(true);
+                    break;
+                }
+            }
+            while (!checkHas(PathOver, AiManage.getInstance().getCheckPoint())) {
+//            if (checkHas(PathLose, AiManage.getInstance().getCheckPoint())) {
+//                //发现失败 直接放弃
+//                getRecord().getData().setCount(maxTime);
+//                randomToClick();
+//                ThreadUtil.sleep(2000);
+//                return;
+//            }
+                if (checkHas(PathStart, AiManage.getInstance().getCheckPoint())) {
+                    moveToClick(PathStart, AiManage.getInstance().getCheckPoint());
+                    ThreadUtil.sleep(2000);
+                }
+                if (checkHas(PathStart2, AiManage.getInstance().getCheckPoint())) {
+                    moveToClick(PathStart2, AiManage.getInstance().getCheckPoint());
+                    ThreadUtil.sleep(2000);
+                }
+                if (checkHas(PathClose, AiManage.getInstance().getCheckPoint())) {
+                    moveToClick(PathClose, AiManage.getInstance().getCheckPoint());
+                    ThreadUtil.sleep(2000);
+                }
+                if (checkHas(PathSkip, AiManage.getInstance().getCheckPoint())) {
+                    moveToClick(PathSkip, AiManage.getInstance().getCheckPoint());
+                    ThreadUtil.sleep(2000);
+                }
+                ThreadUtil.sleep(2000);
+            }
+            randomToClick();
+            getRecord().getData().setCount(count+1);
+        }
+    }
+
+
+    @Override
+    public boolean isDone() {
+        return getRecord().getData().getCount() >= maxTime || getRecordSub().getData().isDone();
+    }
+
+    /**
+     * 重置
+     */
+    @Override
+    public ResettableData.ResetType getType() {
+        return ResettableData.ResetType.MONTHLY;
+    }
+
+}