fix: 肉鸽烧热水没烧出来会从预设难度开始,而不是返回n0

This commit is contained in:
uye
2025-01-09 23:30:07 +08:00
parent 2e495c3231
commit ab07c81b1b
2 changed files with 11 additions and 24 deletions

View File

@@ -6687,12 +6687,6 @@
"roi": [400, 300, 225, 160],
"fullMatch": true
},
"Roguelike@ChooseDifficulty_CheckEasiest": {
"doc": "用于 RoguelikeDifficultySelectionTaskPlugin",
"algorithm": "OcrDetect",
"text": ["ADDITIONAL"],
"roi": [670, 515, 100, 19]
},
"Roguelike@ChooseDifficulty_Specified": {
"doc": "用于 RoguelikeDifficultySelectionTaskPlugin",
"baseTask": "NumberOcrReplace",

View File

@@ -86,26 +86,19 @@ bool asst::RoguelikeDifficultySelectionTaskPlugin::select_difficulty(const int d
// 识别当前难度
const cv::Mat image = ctrler()->get_image();
OCRer easiest_checker(image);
easiest_checker.set_task_info("Roguelike@ChooseDifficulty_CheckEasiest");
if (!easiest_checker.analyze()) {
m_current_difficulty = 0;
OCRer current_difficulty_analyzer(image);
current_difficulty_analyzer.set_task_info("Roguelike@ChooseDifficulty_AnalyzeCurrentDifficulty");
if (current_difficulty_analyzer.analyze()) {
const std::string current_difficulty_text = current_difficulty_analyzer.get_result().front().text;
Log.info(__FUNCTION__, "| Current difficulty text is", current_difficulty_text);
if (!utils::chars_to_number(current_difficulty_text, m_current_difficulty)) {
Log.error("Fail to convert current difficulty text to int, reset current difficulty to 0");
m_current_difficulty = 0;
}
}
else {
OCRer current_difficulty_analyzer(image);
current_difficulty_analyzer.set_task_info("Roguelike@ChooseDifficulty_AnalyzeCurrentDifficulty");
if (current_difficulty_analyzer.analyze()) {
const std::string current_difficulty_text = current_difficulty_analyzer.get_result().front().text;
Log.debug(__FUNCTION__, "| Current difficulty text is", current_difficulty_text);
if (!utils::chars_to_number(current_difficulty_text, m_current_difficulty)) {
Log.error("Fail to convert current difficulty text to int, reset current difficulty to -1");
m_current_difficulty = -1;
}
}
else {
Log.error(__FUNCTION__, "| Fail to detect current difficulty, reset current difficulty to -1");
m_current_difficulty = -1;
}
Log.error(__FUNCTION__, "| Fail to detect current difficulty, reset current difficulty to 0");
m_current_difficulty = 0;
}
Log.info(__FUNCTION__, "| Current difficulty is", m_current_difficulty);