1 #include "view/display-player-misc-info.h"
2 #include "player-info/class-info.h"
3 #include "player-info/mimic-info-table.h"
4 #include "player/player-personality.h"
5 #include "player/player-sex.h"
6 #include "system/player-type-definition.h"
7 #include "term/screen-processor.h"
8 #include "term/term-color-types.h"
9 #include "term/z-form.h"
10 #include "view/display-player-stat-info.h"
14 * @brief 画面上部にプレイヤーの名前を表示する
16 * @param name_only trueならば名前のみ表示する。falseならばプレイヤーの性格も表示する。
18 void display_player_name(PlayerType *player_ptr, bool name_only)
22 ss << ap_ptr->title << _(ap_ptr->no == 1 ? "の" : "", " ");
24 ss << player_ptr->name;
25 const auto display_name = ss.str();
27 constexpr std::string_view header = _("名前 : ", "Name : ");
28 const auto length = header.length() + display_name.length();
30 const auto [wid, hgt] = term_get_size();
31 const auto center_col = (wid - length) / 2 - 4; // ヘッダがあるぶん少し左に寄せたほうが見やすい
32 constexpr auto row = 1;
35 term_putstr(center_col, row, -1, TERM_WHITE, header);
36 term_putstr(center_col + header.length(), row, -1, TERM_L_BLUE, display_name);
40 * @brief プレイヤーの特性フラグ一覧表示2a /
41 * @param player_ptr プレイヤーへの参照ポインタ
42 * Special display, part 2a
44 void display_player_misc_info(PlayerType *player_ptr)
46 display_player_name(player_ptr);
48 put_str(_("性別 :", "Sex :"), 3, 1);
49 put_str(_("種族 :", "Race :"), 4, 1);
50 put_str(_("職業 :", "Class :"), 5, 1);
52 c_put_str(TERM_L_BLUE, sp_ptr->title, 3, 9);
53 c_put_str(TERM_L_BLUE, (player_ptr->mimic_form != MimicKindType::NONE ? mimic_info.at(player_ptr->mimic_form).title : rp_ptr->title), 4, 9);
54 c_put_str(TERM_L_BLUE, cp_ptr->title, 5, 9);
56 put_str(_("レベル:", "Level :"), 6, 1);
57 put_str(_("HP :", "Hits :"), 7, 1);
58 put_str(_("MP :", "Mana :"), 8, 1);
60 c_put_str(TERM_L_BLUE, format("%d", (int)player_ptr->lev), 6, 9);
61 c_put_str(TERM_L_BLUE, format("%d/%d", (int)player_ptr->chp, (int)player_ptr->mhp), 7, 9);
62 c_put_str(TERM_L_BLUE, format("%d/%d", (int)player_ptr->csp, (int)player_ptr->msp), 8, 9);