From 0bfe3330eb43f6cc579e7c7080ec958a239ca2d0 Mon Sep 17 00:00:00 2001 From: zzyyyl <74587068+zzyyyl@users.noreply.github.com> Date: Mon, 18 Jul 2022 18:22:02 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=B0=86=E6=96=B9=E5=90=91=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E9=9D=99=E6=80=81=E6=88=90=E5=91=98=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MeoAssistant/AsstTypes.h | 4 ++++ src/MeoAssistant/RoguelikeBattleTaskPlugin.cpp | 13 ++++--------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/MeoAssistant/AsstTypes.h b/src/MeoAssistant/AsstTypes.h index 99c2a2a95e..c8371c8bb3 100644 --- a/src/MeoAssistant/AsstTypes.h +++ b/src/MeoAssistant/AsstTypes.h @@ -38,6 +38,10 @@ namespace asst { return "[ " + std::to_string(x) + ", " + std::to_string(y) + " ]"; } + static constexpr Point RightDirection() { return Point(1, 0); } + static constexpr Point DownDirection() { return Point(0, 1); } + static constexpr Point LeftDirection() { return Point(-1, 0); } + static constexpr Point UpDirection() { return Point(0, -1); } int x = 0; int y = 0; }; diff --git a/src/MeoAssistant/RoguelikeBattleTaskPlugin.cpp b/src/MeoAssistant/RoguelikeBattleTaskPlugin.cpp index cb571ce5a3..4436527213 100644 --- a/src/MeoAssistant/RoguelikeBattleTaskPlugin.cpp +++ b/src/MeoAssistant/RoguelikeBattleTaskPlugin.cpp @@ -727,17 +727,12 @@ std::pair asst::RoguelikeBattleTaskPlugin::calc_best_direction left_attack_range.emplace_back(-x, -y); up_attack_range.emplace_back(y, -x); } - - static const constexpr Point RightDirection(1, 0); - static const constexpr Point DownDirection(0, 1); - static const constexpr Point LeftDirection(-1, 0); - static const constexpr Point UpDirection(0, -1); std::vector>> DirectionAttackRangeMap; DirectionAttackRangeMap.reserve(4); - DirectionAttackRangeMap.emplace_back(RightDirection, std::move(right_attack_range)); - DirectionAttackRangeMap.emplace_back(DownDirection, std::move(down_attack_range)); - DirectionAttackRangeMap.emplace_back(LeftDirection, std::move(left_attack_range)); - DirectionAttackRangeMap.emplace_back(UpDirection, std::move(up_attack_range)); + DirectionAttackRangeMap.emplace_back(Point::RightDirection(), std::move(right_attack_range)); + DirectionAttackRangeMap.emplace_back(Point::DownDirection(), std::move(down_attack_range)); + DirectionAttackRangeMap.emplace_back(Point::LeftDirection(), std::move(left_attack_range)); + DirectionAttackRangeMap.emplace_back(Point::UpDirection(), std::move(up_attack_range)); int max_score = 0; Point opt_direction;