|
|
|
@ -18,28 +18,35 @@ public class Task_自动练兵 extends BaseTask {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void 盾兵自动训练(JMacro macro, ViewRect viewRect) {
|
|
|
|
|
Logger.info("检测面板状态");
|
|
|
|
|
ViewRect[] viewRects = macro.matchLegends(macro.of("城镇_打开面板", "城镇_关闭面板"),0.6);
|
|
|
|
|
if (viewRects == null || viewRects.length == 0) {
|
|
|
|
|
Logger.info("检测面板状态检测失败");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (viewRects[0] != null) {
|
|
|
|
|
Logger.info("打开面板");
|
|
|
|
|
macro.mouseLeftClick(viewRects[0]);
|
|
|
|
|
macro.delay(1000);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (viewRects[1] != null) {
|
|
|
|
|
ViewRect[] viewRects = macro.matchLegends(macro.of("城镇_面板1选中", "城镇_面板2选中"), 0.9);
|
|
|
|
|
if (viewRects[0] == null && viewRects[1] == null) {
|
|
|
|
|
Logger.info("面板未打开");
|
|
|
|
|
Logger.info("检测面板打开按钮,打开面板");
|
|
|
|
|
boolean 城镇_打开面板 = macro.matchLegendAndClick("城镇_打开面板", 0.6);
|
|
|
|
|
if (!城镇_打开面板) {
|
|
|
|
|
Logger.error("打开面板失败");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
Logger.info("检测关闭按钮");
|
|
|
|
|
ViewRect 城镇_关闭面板 = macro.matchLegend("城镇_关闭面板", 0.6);
|
|
|
|
|
if (城镇_关闭面板 == null) {
|
|
|
|
|
Logger.error("未检测到面板关闭按钮,打开失败");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
Logger.info("面板已打开");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Logger.info("选中城镇");
|
|
|
|
|
macro.mouseLeftClick(macro.of(85, 200));
|
|
|
|
|
macro.delay(500);
|
|
|
|
|
|
|
|
|
|
Logger.info("滑动到顶部");
|
|
|
|
|
macro.mouseLeftDrag(macro.of(163, 231), macro.of(158, 626), true);
|
|
|
|
|
macro.delay(1000);
|
|
|
|
|
|
|
|
|
|
Logger.info("检测盾兵");
|
|
|
|
|
ViewRect[] viewRects2 = macro.waitAndMatchLegends(macro.of("城镇_完成盾兵", "城镇_空闲盾兵"),0.8D, 3);
|
|
|
|
|
ViewRect[] viewRects2 = macro.waitAndMatchLegends(macro.of("城镇_完成盾兵", "城镇_空闲盾兵"), 0.8D, 3);
|
|
|
|
|
if (viewRects2 == null) {
|
|
|
|
|
Logger.info("检测失败");
|
|
|
|
|
return;
|
|
|
|
@ -136,28 +143,27 @@ public class Task_自动练兵 extends BaseTask {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void 矛兵自动训练(JMacro macro, ViewRect viewRect) {
|
|
|
|
|
Logger.info("检测面板状态");
|
|
|
|
|
ViewRect[] viewRects = macro.matchLegends(macro.of("城镇_打开面板", "城镇_关闭面板"),0.6);
|
|
|
|
|
if (viewRects == null || viewRects.length == 0) {
|
|
|
|
|
Logger.info("检测面板状态检测失败");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (viewRects[0] != null) {
|
|
|
|
|
Logger.info("打开面板");
|
|
|
|
|
macro.mouseLeftClick(viewRects[0]);
|
|
|
|
|
macro.delay(1000);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (viewRects[1] != null) {
|
|
|
|
|
ViewRect[] viewRects = macro.matchLegends(macro.of("城镇_面板1选中", "城镇_面板2选中"), 0.9);
|
|
|
|
|
if (viewRects[0] == null && viewRects[1] == null) {
|
|
|
|
|
Logger.info("面板未打开");
|
|
|
|
|
Logger.info("检测面板打开按钮,打开面板");
|
|
|
|
|
boolean 城镇_打开面板 = macro.matchLegendAndClick("城镇_打开面板", 0.6);
|
|
|
|
|
if (!城镇_打开面板) {
|
|
|
|
|
Logger.error("打开面板失败");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
Logger.info("检测关闭按钮");
|
|
|
|
|
ViewRect 城镇_关闭面板 = macro.matchLegend("城镇_关闭面板", 0.6);
|
|
|
|
|
if (城镇_关闭面板 == null) {
|
|
|
|
|
Logger.error("未检测到面板关闭按钮,打开失败");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
Logger.info("面板已打开");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Logger.info("选中城镇");
|
|
|
|
|
macro.mouseLeftClick(macro.of(85, 200));
|
|
|
|
|
macro.delay(1000);
|
|
|
|
|
|
|
|
|
|
Logger.info("检测矛兵");
|
|
|
|
|
ViewRect[] viewRects2 = macro.waitAndMatchLegends(macro.of("城镇_完成矛兵", "城镇_空闲矛兵"),0.8D, 3);
|
|
|
|
|
ViewRect[] viewRects2 = macro.waitAndMatchLegends(macro.of("城镇_完成矛兵", "城镇_空闲矛兵"), 0.8D, 3);
|
|
|
|
|
if (viewRects2 == null) {
|
|
|
|
|
Logger.info("检测失败");
|
|
|
|
|
return;
|
|
|
|
@ -255,28 +261,27 @@ public class Task_自动练兵 extends BaseTask {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void 射手自动训练(JMacro macro, ViewRect viewRect) {
|
|
|
|
|
Logger.info("检测面板状态");
|
|
|
|
|
ViewRect[] viewRects = macro.matchLegends(macro.of("城镇_打开面板", "城镇_关闭面板"),0.6);
|
|
|
|
|
if (viewRects == null || viewRects.length == 0) {
|
|
|
|
|
Logger.info("检测面板状态检测失败");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (viewRects[0] != null) {
|
|
|
|
|
Logger.info("打开面板");
|
|
|
|
|
macro.mouseLeftClick(viewRects[0]);
|
|
|
|
|
macro.delay(1000);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (viewRects[1] != null) {
|
|
|
|
|
ViewRect[] viewRects = macro.matchLegends(macro.of("城镇_面板1选中", "城镇_面板2选中"), 0.9);
|
|
|
|
|
if (viewRects[0] == null && viewRects[1] == null) {
|
|
|
|
|
Logger.info("面板未打开");
|
|
|
|
|
Logger.info("检测面板打开按钮,打开面板");
|
|
|
|
|
boolean 城镇_打开面板 = macro.matchLegendAndClick("城镇_打开面板", 0.6);
|
|
|
|
|
if (!城镇_打开面板) {
|
|
|
|
|
Logger.error("打开面板失败");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
Logger.info("检测关闭按钮");
|
|
|
|
|
ViewRect 城镇_关闭面板 = macro.matchLegend("城镇_关闭面板", 0.6);
|
|
|
|
|
if (城镇_关闭面板 == null) {
|
|
|
|
|
Logger.error("未检测到面板关闭按钮,打开失败");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
Logger.info("面板已打开");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Logger.info("选中城镇");
|
|
|
|
|
macro.mouseLeftClick(macro.of(85, 200));
|
|
|
|
|
macro.delay(1000);
|
|
|
|
|
|
|
|
|
|
Logger.info("检测矛兵");
|
|
|
|
|
ViewRect[] viewRects2 = macro.waitAndMatchLegends(macro.of("城镇_完成射手", "城镇_空闲射手"),0.8D, 3);
|
|
|
|
|
ViewRect[] viewRects2 = macro.waitAndMatchLegends(macro.of("城镇_完成射手", "城镇_空闲射手"), 0.8D, 3);
|
|
|
|
|
if (viewRects2 == null) {
|
|
|
|
|
Logger.info("检测失败");
|
|
|
|
|
return;
|
|
|
|
|