OSDN Git Service

[Refactor] #37353 型の置換(C_MAKE)。 / Type replacement(C_MAKE).
[hengband/hengband.git] / src / world.c
1 #include "angband.h"\r
2 \r
3 /*!\r
4  * @brief ゲーム時間が日中かどうかを返す /\r
5  * Whether daytime or not\r
6  * @return 日中ならばTRUE、夜ならばFALSE\r
7  */\r
8 bool is_daytime(void)\r
9 {\r
10         s32b len = TURNS_PER_TICK * TOWN_DAWN;\r
11         if ((turn % len) < (len / 2))\r
12                 return TRUE;\r
13         else\r
14                 return FALSE;\r
15 }\r
16 \r
17 /*!\r
18  * @brief 現在の日数、時刻を返す /\r
19  * Extract day, hour, min\r
20  * @param day 日数を返すための参照ポインタ\r
21  * @param hour 時数を返すための参照ポインタ\r
22  * @param min 分数を返すための参照ポインタ\r
23  */\r
24 void extract_day_hour_min(int *day, int *hour, int *min)\r
25 {\r
26         const s32b A_DAY = TURNS_PER_TICK * TOWN_DAWN;\r
27         s32b turn_in_today = (turn + A_DAY / 4) % A_DAY;\r
28 \r
29         switch (p_ptr->start_race)\r
30         {\r
31         case RACE_VAMPIRE:\r
32         case RACE_SKELETON:\r
33         case RACE_ZOMBIE:\r
34         case RACE_SPECTRE:\r
35                 *day = (turn - A_DAY * 3 / 4) / A_DAY + 1;\r
36                 break;\r
37         default:\r
38                 *day = (turn + A_DAY / 4) / A_DAY + 1;\r
39                 break;\r
40         }\r
41         *hour = (24 * turn_in_today / A_DAY) % 24;\r
42         *min = (1440 * turn_in_today / A_DAY) % 60;\r
43 }\r