OSDN Git Service

[Refactor] #3194 実態のない定数定義を除去した
authorHourier <66951241+Hourier@users.noreply.github.com>
Sat, 29 Apr 2023 02:52:43 +0000 (11:52 +0900)
committerHourier <66951241+Hourier@users.noreply.github.com>
Sat, 29 Apr 2023 02:52:43 +0000 (11:52 +0900)
src/avatar/avatar.cpp
src/avatar/avatar.h
src/perception/simple-perception.cpp

index e03a702..1e53101 100644 (file)
@@ -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;
 }
 
 /*!
index aaa88a4..10d61e2 100644 (file)
@@ -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);
index 0c7fff8..266c2c9 100644 (file)
@@ -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;
     }