OSDN Git Service

[Refactor] #40465 Reshaped knowledge-uniques.c
authorHourier <hourier@users.sourceforge.jp>
Thu, 4 Jun 2020 14:24:02 +0000 (23:24 +0900)
committerHourier <hourier@users.sourceforge.jp>
Thu, 4 Jun 2020 14:24:02 +0000 (23:24 +0900)
src/knowledge/knowledge-uniques.c

index 4f002bb..ea0b816 100644 (file)
@@ -4,11 +4,11 @@
  * @author Hourier
  */
 
-#include "system/angband.h"
-#include "knowledge-items.h"
-#include "io-dump/dump-util.h"
-#include "core/sort.h"
 #include "core/show-file.h"
+#include "core/sort.h"
+#include "io-dump/dump-util.h"
+#include "knowledge-items.h"
+#include "system/angband.h"
 
 /*
  * Display known uniques
  */
 void do_cmd_knowledge_uniques(player_type *creature_ptr)
 {
-       u16b why = 2;
-       IDX *who;
-       int n_alive[10];
-       int n_alive_surface = 0;
-       int n_alive_over100 = 0;
-       int n_alive_total = 0;
-       int max_lev = -1;
-       for (IDX i = 0; i < 10; i++)
-               n_alive[i] = 0;
+    u16b why = 2;
+    IDX *who;
+    int n_alive[10];
+    int n_alive_surface = 0;
+    int n_alive_over100 = 0;
+    int n_alive_total = 0;
+    int max_lev = -1;
+    for (IDX i = 0; i < 10; i++)
+        n_alive[i] = 0;
 
-       FILE *fff = NULL;
-       GAME_TEXT file_name[FILE_NAME_SIZE];
-       if (!open_temporary_file(&fff, file_name)) return;
+    FILE *fff = NULL;
+    GAME_TEXT file_name[FILE_NAME_SIZE];
+    if (!open_temporary_file(&fff, file_name))
+        return;
 
-       C_MAKE(who, max_r_idx, MONRACE_IDX);
-       int n = 0;
-       for (IDX i = 1; i < max_r_idx; i++)
-       {
-               monster_race *r_ptr = &r_info[i];
-               if (!r_ptr->name) continue;
-               if (!(r_ptr->flags1 & RF1_UNIQUE)) continue;
-               if (!cheat_know && !r_ptr->r_sights) continue;
-               if (!r_ptr->rarity || ((r_ptr->rarity > 100) && !(r_ptr->flags1 & RF1_QUESTOR))) continue;
-               if (r_ptr->max_num == 0) continue;
+    C_MAKE(who, max_r_idx, MONRACE_IDX);
+    int n = 0;
+    for (IDX i = 1; i < max_r_idx; i++) {
+        monster_race *r_ptr = &r_info[i];
+        if (!r_ptr->name)
+            continue;
+        if (!(r_ptr->flags1 & RF1_UNIQUE))
+            continue;
+        if (!cheat_know && !r_ptr->r_sights)
+            continue;
+        if (!r_ptr->rarity || ((r_ptr->rarity > 100) && !(r_ptr->flags1 & RF1_QUESTOR)))
+            continue;
+        if (r_ptr->max_num == 0)
+            continue;
 
-               if (r_ptr->level)
-               {
-                       int lev = (r_ptr->level - 1) / 10;
-                       if (lev < 10)
-                       {
-                               n_alive[lev]++;
-                               if (max_lev < lev) max_lev = lev;
-                       }
-                       else
-                               n_alive_over100++;
-               }
-               else
-                       n_alive_surface++;
+        if (r_ptr->level) {
+            int lev = (r_ptr->level - 1) / 10;
+            if (lev < 10) {
+                n_alive[lev]++;
+                if (max_lev < lev)
+                    max_lev = lev;
+            } else
+                n_alive_over100++;
+        } else
+            n_alive_surface++;
 
-               who[n++] = i;
-       }
+        who[n++] = i;
+    }
 
-       ang_sort(who, &why, n, ang_sort_comp_hook, ang_sort_swap_hook);
-       if (n_alive_surface)
-       {
-               fprintf(fff, _("     地上  生存: %3d体\n", "      Surface  alive: %3d\n"), n_alive_surface);
-               n_alive_total += n_alive_surface;
-       }
+    ang_sort(who, &why, n, ang_sort_comp_hook, ang_sort_swap_hook);
+    if (n_alive_surface) {
+        fprintf(fff, _("     地上  生存: %3d体\n", "      Surface  alive: %3d\n"), n_alive_surface);
+        n_alive_total += n_alive_surface;
+    }
 
-       for (IDX i = 0; i <= max_lev; i++)
-       {
-               fprintf(fff, _("%3d-%3d階  生存: %3d体\n", "Level %3d-%3d  alive: %3d\n"), 1 + i * 10, 10 + i * 10, n_alive[i]);
-               n_alive_total += n_alive[i];
-       }
+    for (IDX i = 0; i <= max_lev; i++) {
+        fprintf(fff, _("%3d-%3d階  生存: %3d体\n", "Level %3d-%3d  alive: %3d\n"), 1 + i * 10, 10 + i * 10, n_alive[i]);
+        n_alive_total += n_alive[i];
+    }
 
-       if (n_alive_over100)
-       {
-               fprintf(fff, _("101-   階  生存: %3d体\n", "Level 101-     alive: %3d\n"), n_alive_over100);
-               n_alive_total += n_alive_over100;
-       }
+    if (n_alive_over100) {
+        fprintf(fff, _("101-   階  生存: %3d体\n", "Level 101-     alive: %3d\n"), n_alive_over100);
+        n_alive_total += n_alive_over100;
+    }
 
-       if (n_alive_total)
-       {
-               fputs(_("---------  -----------\n", "-------------  ----------\n"), fff);
-               fprintf(fff, _("     合計  生存: %3d体\n\n", "        Total  alive: %3d\n\n"), n_alive_total);
-       }
-       else
-       {
-               fputs(_("現在は既知の生存ユニークはいません。\n", "No known uniques alive.\n"), fff);
-       }
+    if (n_alive_total) {
+        fputs(_("---------  -----------\n", "-------------  ----------\n"), fff);
+        fprintf(fff, _("     合計  生存: %3d体\n\n", "        Total  alive: %3d\n\n"), n_alive_total);
+    } else {
+        fputs(_("現在は既知の生存ユニークはいません。\n", "No known uniques alive.\n"), fff);
+    }
 
-       for (int k = 0; k < n; k++)
-       {
-               monster_race *r_ptr = &r_info[who[k]];
-               fprintf(fff, _("     %s (レベル%d)\n", "     %s (level %d)\n"), r_name + r_ptr->name, (int)r_ptr->level);
-       }
+    for (int k = 0; k < n; k++) {
+        monster_race *r_ptr = &r_info[who[k]];
+        fprintf(fff, _("     %s (レベル%d)\n", "     %s (level %d)\n"), r_name + r_ptr->name, (int)r_ptr->level);
+    }
 
-       C_KILL(who, max_r_idx, s16b);
-       my_fclose(fff);
-       (void)show_file(creature_ptr, TRUE, file_name, _("まだ生きているユニーク・モンスター", "Alive Uniques"), 0, 0);
-       fd_kill(file_name);
+    C_KILL(who, max_r_idx, s16b);
+    my_fclose(fff);
+    (void)show_file(creature_ptr, TRUE, file_name, _("まだ生きているユニーク・モンスター", "Alive Uniques"), 0, 0);
+    fd_kill(file_name);
 }