From 7c021748d346d8bb9cffab5c967fdb9443f4d99e Mon Sep 17 00:00:00 2001 From: MistEO Date: Thu, 16 Sep 2021 21:49:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=BC=82=E6=AD=A5Adb?= =?UTF-8?q?=E7=9A=84=E4=B8=80=E4=BA=9B=E9=97=AE=E9=A2=98=EF=BC=8C=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E5=9F=BA=E5=BB=BA=E5=AE=BF=E8=88=8D=E7=9A=84=E9=98=88?= =?UTF-8?q?=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/template/special/Listless.png | Bin 4935 -> 6976 bytes src/MeoAssistance/Assistance.cpp | 4 +- src/MeoAssistance/InfrastAbstractTask.cpp | 19 ++++--- src/MeoAssistance/InfrastDormTask.cpp | 28 +++++----- src/MeoAssistance/OcrAbstractTask.h | 29 ++++++++++ src/MeoAssistance/WinMacro.cpp | 65 ++++++++++++---------- src/MeoAssistance/WinMacro.h | 6 +- tools/TestCaller/main.cpp | 10 ++-- 8 files changed, 99 insertions(+), 62 deletions(-) diff --git a/resource/template/special/Listless.png b/resource/template/special/Listless.png index 86f4e26d079194dec224297c1bb4569fde24b603..014335c901a534e94da261f1338584f3a5dcb3b1 100644 GIT binary patch literal 6976 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 SQUKTh00006}&0{ literal 4935 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 FV1f+3kVOCh diff --git a/src/MeoAssistance/Assistance.cpp b/src/MeoAssistance/Assistance.cpp index e898567eee..c6a833e318 100644 --- a/src/MeoAssistance/Assistance.cpp +++ b/src/MeoAssistance/Assistance.cpp @@ -418,7 +418,7 @@ void Assistance::working_proc() if (!m_thread_idle && !m_tasks_deque.empty()) { - m_controller_ptr->set_idle(false); + //m_controller_ptr->set_idle(false); auto start_time = std::chrono::system_clock::now(); std::shared_ptr task_ptr = m_tasks_deque.front(); @@ -461,7 +461,7 @@ void Assistance::working_proc() else { m_thread_idle = true; - m_controller_ptr->set_idle(true); + //m_controller_ptr->set_idle(true); m_condvar.wait(lock); } } diff --git a/src/MeoAssistance/InfrastAbstractTask.cpp b/src/MeoAssistance/InfrastAbstractTask.cpp index 7fe0116294..ce88393e62 100644 --- a/src/MeoAssistance/InfrastAbstractTask.cpp +++ b/src/MeoAssistance/InfrastAbstractTask.cpp @@ -72,16 +72,15 @@ bool asst::InfrastAbstractTask::swipe(bool reverse) DebugTraceFunction; //#ifndef LOG_TRACE - bool ret = false; if (!reverse) { - ret = m_controller_ptr->swipe(m_swipe_begin, m_swipe_end, m_swipe_duration); + m_controller_ptr->swipe(m_swipe_begin, m_swipe_end, m_swipe_duration); ++m_swipe_times; } else { - ret = m_controller_ptr->swipe(m_swipe_end, m_swipe_begin, m_swipe_duration); + m_controller_ptr->swipe(m_swipe_end, m_swipe_begin, m_swipe_duration); --m_swipe_times; } - return ret && sleep(m_swipe_extra_delay); + return sleep(m_swipe_extra_delay); //#else // return sleep(SwipeExtraDelay); //#endif @@ -101,7 +100,9 @@ bool asst::InfrastAbstractTask::swipe_left() Configer::WindowWidthDefault * 0.1, Configer::WindowHeightDefault * 0.2); - return m_controller_ptr->swipe(left_rect, right_rect); + m_controller_ptr->swipe(left_rect, right_rect); + + return true; } bool asst::InfrastAbstractTask::swipe_right() @@ -118,7 +119,9 @@ bool asst::InfrastAbstractTask::swipe_right() Configer::WindowWidthDefault * 0.1, Configer::WindowHeightDefault * 0.2); - return m_controller_ptr->swipe(right_rect, left_rect); + m_controller_ptr->swipe(right_rect, left_rect); + + return true; } bool asst::InfrastAbstractTask::append_task_to_back_to_infrast_home() @@ -362,8 +365,8 @@ bool asst::InfrastAbstractTask::enter_station(const std::vector& te } }); - bool ret = m_controller_ptr->click(max_score_reslut.at(index).rect); - return ret && sleep(1000); + m_controller_ptr->click(max_score_reslut.at(index).rect); + return sleep(1000); } bool asst::InfrastAbstractTask::click_first_operator() diff --git a/src/MeoAssistance/InfrastDormTask.cpp b/src/MeoAssistance/InfrastDormTask.cpp index 0bdf883768..3fc629a61e 100644 --- a/src/MeoAssistance/InfrastDormTask.cpp +++ b/src/MeoAssistance/InfrastDormTask.cpp @@ -74,11 +74,10 @@ bool asst::InfrastDormTask::click_confirm_button() // 点完确定后,如果把工作中的干员撤下来了,会再弹出来一个确认的界面,如果没撤下来则不会弹出。先识别一下再决定要不要点击 auto&& [algorithm, score, second_confirm_rect] = m_identify_ptr->find_image(m_controller_ptr->get_image(), "DormConfirm"); - bool ret = false; if (score >= Configer::TemplThresholdDefault) { - ret = m_controller_ptr->click(second_confirm_rect); + m_controller_ptr->click(second_confirm_rect); } - return ret && sleep(2000); + return sleep(2000); } bool asst::InfrastDormTask::enter_next_dorm() @@ -99,12 +98,11 @@ bool asst::InfrastDormTask::enter_next_dorm() // 游戏bug,宿舍中如果“进驻信息”已被选中,直接进行滑动会被滑的很远 // 所以这里先检查一下,如果进驻信息被选中了,就先把它关了,再进行滑动 auto find_result = m_identify_ptr->find_image(m_controller_ptr->get_image(), "StationInfoSelected"); - bool ret = false; if (find_result.score >= 0.75) { - ret = m_controller_ptr->click(find_result.rect); + m_controller_ptr->click(find_result.rect); } - ret &= m_controller_ptr->swipe(swipe_down_begin, swipe_down_end, swipe_dwon_duration); + m_controller_ptr->swipe(swipe_down_begin, swipe_down_end, swipe_dwon_duration); static const Rect double_click_rect( Configer::WindowWidthDefault * 0.4, @@ -114,10 +112,10 @@ bool asst::InfrastDormTask::enter_next_dorm() ); // 游戏中的宿舍里,双击可以让当前设施回到正确的位置 - ret &= m_controller_ptr->click(double_click_rect); - ret &= m_controller_ptr->click(double_click_rect); + m_controller_ptr->click(double_click_rect); + m_controller_ptr->click(double_click_rect); - return ret; + return true; } bool asst::InfrastDormTask::enter_operator_selection() @@ -165,8 +163,8 @@ bool asst::InfrastDormTask::enter_operator_selection() // TODO 报错 return false; } - bool ret = m_controller_ptr->click(button_iter->rect); - return ret && sleep(2000); + m_controller_ptr->click(button_iter->rect); + return sleep(2000); } int asst::InfrastDormTask::select_operators(bool need_to_the_left) @@ -191,7 +189,9 @@ int asst::InfrastDormTask::select_operators(bool need_to_the_left) // 识别“注意力涣散”的干员 // TODO,这个阈值太低了,不正常,有时间再调整一下模板图片 - auto listless_result = m_identify_ptr->find_all_images(image, "Listless", 0.6); + //auto listless_result = m_identify_ptr->find_all_images(image, "Listless", 0.6); + const static std::array ListlessKeyword = { "注意力" }; + auto listless_result = text_search(m_identify_ptr->ocr_detect(image), ListlessKeyword); // 识别正在工作中的干员的心情状态 double mood_threshold = Configer::get_instance().m_infrast_options.dorm_threshold; auto work_mood_result = detect_mood_status_at_work(image, mood_threshold); @@ -267,7 +267,7 @@ std::vector InfrastDormTask::detect_mood_status_at_ #endif // 把工作中的那个黄色笑脸全抓出来 - auto smiley_result = m_identify_ptr->find_all_images(image, "SmileyAtWork", 0.8, false); + auto smiley_result = m_identify_ptr->find_all_images(image, "SmileyAtWork", 0.88, false); std::vector moods_vec; for (const auto& smiley : smiley_result) { @@ -341,7 +341,7 @@ std::vector InfrastDormTask::detect_mood_status_at_ cv::Rect on_shift_rect(mood_status.rect.x, mood_status.rect.y - HeightDiff, mood_status.rect.width, OnShiftHeight); // “休息中”的笑脸前面的模板匹配是对不上的,走不到这里,所以这里只匹配“工作中”即可 auto find_result = m_identify_ptr->find_image(image(on_shift_rect), "OnShift"); - if (find_result.score < 0.5) { + if (find_result.score < 0.45) { moods_vec.emplace_back(std::move(mood_status)); } } diff --git a/src/MeoAssistance/OcrAbstractTask.h b/src/MeoAssistance/OcrAbstractTask.h index 378c02c197..223adbfe93 100644 --- a/src/MeoAssistance/OcrAbstractTask.h +++ b/src/MeoAssistance/OcrAbstractTask.h @@ -38,6 +38,21 @@ namespace asst { } return dst; } + // 文字匹配,要求相等 + template + std::vector