From ab07c81b1bc6a910e1805448fcd72d067f2866e2 Mon Sep 17 00:00:00 2001 From: uye <99072975+ABA2396@users.noreply.github.com> Date: Thu, 9 Jan 2025 23:30:07 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=82=89=E9=B8=BD=E7=83=A7=E7=83=AD?= =?UTF-8?q?=E6=B0=B4=E6=B2=A1=E7=83=A7=E5=87=BA=E6=9D=A5=E4=BC=9A=E4=BB=8E?= =?UTF-8?q?=E9=A2=84=E8=AE=BE=E9=9A=BE=E5=BA=A6=E5=BC=80=E5=A7=8B=EF=BC=8C?= =?UTF-8?q?=E8=80=8C=E4=B8=8D=E6=98=AF=E8=BF=94=E5=9B=9En0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/tasks.json | 6 ---- ...RoguelikeDifficultySelectionTaskPlugin.cpp | 29 +++++++------------ 2 files changed, 11 insertions(+), 24 deletions(-) diff --git a/resource/tasks.json b/resource/tasks.json index 1b0fe35188..5a58abedaa 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -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", diff --git a/src/MaaCore/Task/Roguelike/RoguelikeDifficultySelectionTaskPlugin.cpp b/src/MaaCore/Task/Roguelike/RoguelikeDifficultySelectionTaskPlugin.cpp index 2c553b9185..c536cf7e67 100644 --- a/src/MaaCore/Task/Roguelike/RoguelikeDifficultySelectionTaskPlugin.cpp +++ b/src/MaaCore/Task/Roguelike/RoguelikeDifficultySelectionTaskPlugin.cpp @@ -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);