From f2aa5b7c58695c88828f4593fed8869cebfdf61f Mon Sep 17 00:00:00 2001 From: Hourier <66951241+Hourier@users.noreply.github.com> Date: Sat, 29 Apr 2023 11:52:43 +0900 Subject: [PATCH] =?utf8?q?[Refactor]=20#3194=20=E5=AE=9F=E6=85=8B=E3=81=AE?= =?utf8?q?=E3=81=AA=E3=81=84=E5=AE=9A=E6=95=B0=E5=AE=9A=E7=BE=A9=E3=82=92?= =?utf8?q?=E9=99=A4=E5=8E=BB=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/avatar/avatar.cpp | 26 +++++--------------------- src/avatar/avatar.h | 5 +---- src/perception/simple-perception.cpp | 2 +- 3 files changed, 7 insertions(+), 26 deletions(-) diff --git a/src/avatar/avatar.cpp b/src/avatar/avatar.cpp index e03a70201..1e531014b 100644 --- a/src/avatar/avatar.cpp +++ b/src/avatar/avatar.cpp @@ -49,30 +49,14 @@ concptr virtue[MAX_VIRTUE] = { * @brief 該当の徳がプレイヤーに指定されているか否かに応じつつ、大小を比較する。 * @details 徳がない場合は値0として比較する。 * @param virtue 比較したい徳のID - * @param num 比較基準値 - * @param tekitou VIRTUE_LARGE = 基準値より大きいか / VIRTUE_SMALL = 基準値より小さいか + * @param threshold 比較基準値 * @return 比較の真偽値を返す - * @todo 引数名を直しておく */ -bool compare_virtue(PlayerType *player_ptr, Virtue virtue, int num, int tekitou) +bool compare_virtue(PlayerType *player_ptr, Virtue virtue, int threshold) { - int vir = virtue_number(player_ptr, virtue) ? player_ptr->virtues[virtue_number(player_ptr, virtue) - 1] : 0; - switch (tekitou) { - case VIRTUE_LARGE: - if (vir > num) { - return true; - } else { - return false; - } - case VIRTUE_SMALL: - if (vir < num) { - return true; - } else { - return false; - } - default: - return false; - } + const auto num = virtue_number(player_ptr, virtue); + const auto virtue_value = num ? player_ptr->virtues[num - 1] : 0; + return virtue_value > threshold; } /*! diff --git a/src/avatar/avatar.h b/src/avatar/avatar.h index aaa88a4e3..10d61e294 100644 --- a/src/avatar/avatar.h +++ b/src/avatar/avatar.h @@ -27,11 +27,8 @@ enum class Virtue : short { MAX, }; -#define VIRTUE_LARGE 1 -#define VIRTUE_SMALL 2 - class PlayerType; -bool compare_virtue(PlayerType *player_ptr, Virtue virtue, int num, int tekitou); +bool compare_virtue(PlayerType *player_ptr, Virtue virtue, int threshold); int virtue_number(PlayerType *player_ptr, Virtue virtue); extern concptr virtue[MAX_VIRTUE]; void initialize_virtues(PlayerType *player_ptr); diff --git a/src/perception/simple-perception.cpp b/src/perception/simple-perception.cpp index 0c7fff8a5..266c2c91b 100644 --- a/src/perception/simple-perception.cpp +++ b/src/perception/simple-perception.cpp @@ -266,7 +266,7 @@ void sense_inventory1(PlayerType *player_ptr) break; } - if (compare_virtue(player_ptr, Virtue::KNOWLEDGE, 100, VIRTUE_LARGE)) { + if (compare_virtue(player_ptr, Virtue::KNOWLEDGE, 100)) { heavy = true; } -- 2.11.0