Skip to content

Commit

Permalink
fix:修复当前没有地块时候,不会自动点击下一天
Browse files Browse the repository at this point in the history
  • Loading branch information
overflow65537 committed Jan 26, 2025
1 parent 9dc75c2 commit c968225
Show file tree
Hide file tree
Showing 2 changed files with 123 additions and 0 deletions.
79 changes: 79 additions & 0 deletions assets/custom/recognition/CalculateScore/main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
from maa.context import Context
from maa.custom_recognition import CustomRecognition


class CalculateScore(CustomRecognition):

def analyze(
self,
context,
argv: CustomRecognition.AnalyzeArg,
) -> CustomRecognition.AnalyzeResult:
image = context.tasker.controller.post_screencap().wait().get()
# 检查目标分数
target_score = context.run_recognition("检查目标分数", image)
# 检查当前分数
current_score = context.run_recognition("检查当前分数", image)

# 检查军事分数及倍率
military_score = context.run_recognition(
"检查分数", image, {"检查分数": {"roi": [90, 238, 105, 44]}}
)
military_multiplier = context.run_recognition(
"检查分数", image, {"检查分数": {"roi": [197, 239, 54, 48], "expected": ""}}
)

# 检查经济分数及倍率
economic_score = context.run_recognition(
"检查分数", image, {"检查分数": {"roi": [90, 327, 105, 44]}}
)
economic_multiplier = context.run_recognition(
"检查分数", image, {"检查分数": {"roi": [193, 323, 61, 52], "expected": ""}}
)

# 检查科研分数及倍率
research_score = context.run_recognition(
"检查分数", image, {"检查分数": {"roi": [90, 412, 107, 46]}}
)
research_multiplier = context.run_recognition(
"检查分数", image, {"检查分数": {"roi": [196, 416, 61, 43], "expected": ""}}
)

if None in [
current_score,
target_score,
military_score,
military_multiplier,
economic_score,
economic_multiplier,
research_score,
research_multiplier,
]:
return

if (
current_score.best_result.text.isdigit()
and target_score.best_result.text.isdigit()
and military_score.best_result.text.isdigit()
and military_multiplier.best_result.text[1:].isdigit()
and economic_score.best_result.text.isdigit()
and economic_multiplier.best_result.text[1:].isdigit()
and research_score.best_result.text.isdigit()
and research_multiplier.best_result.text[1:].isdigit()
):
final_score = (
int(military_score.best_result.text)
* int(military_multiplier.best_result.text[1:])
+ int(economic_score.best_result.text)
* int(economic_multiplier.best_result.text[1:])
+ int(research_score.best_result.text)
* int(research_multiplier.best_result.text[1:])
+ int(current_score.best_result.text)
)
print(final_score)
if final_score >= int(target_score.best_result.text):
return CustomRecognition.AnalyzeResult(
box=(0, 0, 100, 100), detail="success"
)
else:
return
44 changes: 44 additions & 0 deletions assets/resource/base/pipeline/寒境曙光.json
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,46 @@
"纯色地块蓝_寒境曙光",
"纯色地块黄_寒境曙光",
"纯色地块红_寒境曙光",
"确认下一天_寒境曙光",
"分数计算",
"退出_寒境曙光"
]
},
"分数计算": {
"recognition": "Custom",
"custom_recognition": "CalculateScore",
"next": [
"下一天_寒境曙光"
]
},
"下一天_寒境曙光": {
"recognition": "OCR",
"roi": [
0,
0,
0,
0
],
"expected": "下一天",
"action": "Click"
},
"确认下一天_寒境曙光": {
"recognition": "OCR",
"roi": [
460,
311,
363,
61
],
"expected": "尚有行动点未消耗,是否结束日程",
"action": "Click",
"target": [
725,
454,
1,
1
]
},
"汇合_寒境曙光": {
"recognition": "OCR",
"roi": [
Expand Down Expand Up @@ -1231,13 +1268,16 @@
"肉鸽战斗_寒境曙光",
"继续对话_寒境曙光",
"旧国遗产_寒境曙光",
"拓荒_寒境曙光",
"战马瑞恩_寒境曙光",
"冬日之影_寒境曙光",
"拦路的废墟_寒境曙光",
"建筑师的建议_寒境曙光",
"无尚之戒_寒境曙光",
"剩余资金_寒境曙光",
"前方有陷阱_寒境曙光",
"鲨鱼置物箱_寒境曙光",
"汇合_寒境曙光",
"难民团到访_寒境曙光",
"学者来访_寒境曙光",
"运力紧张_寒境曙光",
Expand Down Expand Up @@ -1835,5 +1875,9 @@
46
],
"expected": "^\\d*$"
},
"检查分数": {
"recognition": "OCR",
"expected": "^\\d*$"
}
}

0 comments on commit c968225

Please sign in to comment.