OSDN Git Service

[Refactor] display_real_playtime() をstatic 関数からAngbandWorld::format_real_playtime...
authorHourier <66951241+Hourier@users.noreply.github.com>
Sat, 15 Jun 2024 08:58:18 +0000 (17:58 +0900)
committerHourier <66951241+Hourier@users.noreply.github.com>
Sun, 16 Jun 2024 00:59:20 +0000 (09:59 +0900)
src/view/display-player-middle.cpp
src/world/world.cpp
src/world/world.h

index c4e3c66..7827307 100644 (file)
@@ -308,19 +308,6 @@ static void display_playtime_in_game(PlayerType *player_ptr)
 }
 
 /*!
- * @brief 現実世界におけるプレイ時間を表示する
- * @param なし
- * @param なし
- */
-static void display_real_playtime(void)
-{
-    uint32_t play_hour = w_ptr->play_time / (60 * 60);
-    uint32_t play_min = (w_ptr->play_time / 60) % 60;
-    uint32_t play_sec = w_ptr->play_time % 60;
-    display_player_one_line(ENTRY_PLAY_TIME, format("%.2u:%.2u:%.2u", play_hour, play_min, play_sec), TERM_L_GREEN);
-}
-
-/*!
  * @brief プレイヤーステータス表示の中央部分を表示するサブルーチン
  * @param player_ptr プレイヤーへの参照ポインタ
  * Prints the following information on the screen.
@@ -347,5 +334,5 @@ void display_player_middle(PlayerType *player_ptr)
     display_player_exp(player_ptr);
     display_player_one_line(ENTRY_GOLD, format("%d", player_ptr->au), TERM_L_GREEN);
     display_playtime_in_game(player_ptr);
-    display_real_playtime();
+    display_player_one_line(ENTRY_PLAY_TIME, w_ptr->format_real_playtime(), TERM_L_GREEN);
 }
index 7c6c96c..42526d3 100644 (file)
@@ -168,3 +168,14 @@ void AngbandWorld::pass_game_turn_by_stay()
         this->dungeon_turn = this->dungeon_turn_limit;
     }
 }
+
+/*!
+ * @brief 現実のプレイ時間をフォーマットして返す
+ */
+std::string AngbandWorld::format_real_playtime() const
+{
+    const auto hour = this->play_time / (60 * 60);
+    const auto min = (this->play_time / 60) % 60;
+    const auto sec = this->play_time % 60;
+    return format("%.2u:%.2u:%.2u", hour, min, sec);
+}
index 985c76f..333c661 100644 (file)
@@ -70,6 +70,7 @@ public:
     const MonsterRaceInfo &get_today_bounty() const;
     bool is_player_true_winner() const;
     void pass_game_turn_by_stay();
+    std::string format_real_playtime() const;
 
 private:
     bool is_out_arena = false; // アリーナ外部にいる時だけtrue.