made main menu friendlier

This commit is contained in:
2024-07-15 16:29:06 -04:00
parent 5e48265c16
commit 73cdb88458
3 changed files with 27 additions and 10 deletions

View File

@ -8,7 +8,7 @@ CC3K::CC3K(const feature enabled_features,
in{in}, out{out}, rng{rng} { in{in}, out{out}, rng{rng} {
curr_menu = std::make_unique<menu>(enabled_features); curr_menu = std::make_unique<menu>(enabled_features);
out->clear(); out->clear();
curr_menu->print(out); curr_menu->print(out, rng->get_init_seed());
out->render(); out->render();
gresult.status = game_status::main_menu; gresult.status = game_status::main_menu;
} }
@ -34,7 +34,7 @@ game_status CC3K::run() {
} }
out->clear(); out->clear();
curr_menu->print(out); curr_menu->print(out, rng->get_init_seed());
out->render(); out->render();
return main_menu; return main_menu;
} }
@ -46,7 +46,7 @@ game_status CC3K::run() {
curr_game = nullptr; curr_game = nullptr;
curr_menu = std::make_unique<menu>(enabled_features); curr_menu = std::make_unique<menu>(enabled_features);
out->clear(); out->clear();
curr_menu->print(out); curr_menu->print(out, rng->get_init_seed());
out->render(); out->render();
gresult.status = main_menu; gresult.status = main_menu;
return main_menu; return main_menu;

View File

@ -36,7 +36,7 @@ const char *NORMAL_SCREEN =
| | \\_ | \\_ _\\ || \\ |\ | | \\_ | \\_ _\\ || \\ |\
| \\____/\\____//____/\\_|\\_\\ |\ | \\____/\\____//____/\\_|\\_\\ |\
+-----------------------------------------------------------------------------+\ +-----------------------------------------------------------------------------+\
| Choose your race | |\ | Choose your race: |\
+-----------------------------------------------------------------------------+\ +-----------------------------------------------------------------------------+\
| Shade | |\ | Shade | |\
+-----------------------------------------------------------------------------+\ +-----------------------------------------------------------------------------+\
@ -51,7 +51,7 @@ const char *NORMAL_SCREEN =
| |\ | |\
| |\ | |\
| |\ | |\
| |\ |-----------------------------------------------------------------------------|\
| |\ | |\
+-----------------------------------------------------------------------------+"; +-----------------------------------------------------------------------------+";
@ -63,7 +63,7 @@ const char *EXTRA_SCREEN =
| | \\_ | \\_ _\\ || \\ |\ | | \\_ | \\_ _\\ || \\ |\
| \\____/\\____//____/\\_|\\_\\ |\ | \\____/\\____//____/\\_|\\_\\ |\
+-----------------------------------------------------------------------------+\ +-----------------------------------------------------------------------------+\
| Choose your race | |\ | Choose your race: |\
+-----------------------------------------------------------------------------+\ +-----------------------------------------------------------------------------+\
| Shade | |\ | Shade | |\
+-----------------------------------------------------------------------------+\ +-----------------------------------------------------------------------------+\
@ -78,7 +78,7 @@ const char *EXTRA_SCREEN =
| |\ | |\
| |\ | |\
| |\ | |\
| |\ |-----------------------------------------------------------------------------|\
| |\ | |\
+-----------------------------------------------------------------------------+"; +-----------------------------------------------------------------------------+";
@ -152,10 +152,27 @@ int menu::run(input *in) {
return -1; return -1;
} }
void menu::print(display *out) { const position MSG_POS = {2, 23};
const char *MSG_NORMAL =
"Move with movement commands, 'yes' to confirm, 'q' to quit.";
const char *MSG_NCURSES =
"Move with movement commands, press 'e' to confirm, 'q' to quit.";
const position SEED_POS = {1, 25};
void menu::print(display *out, const unsigned int seed) {
if (enabled_features & FEATURE_EXTRA_STUFF) if (enabled_features & FEATURE_EXTRA_STUFF)
out->print_str({0, 0}, NORMAL_SCREEN); out->print_str({0, 0}, NORMAL_SCREEN);
else else
out->print_str({0, 0}, EXTRA_SCREEN); out->print_str({0, 0}, EXTRA_SCREEN);
out->print_str(cur, "->", COLOR_PAIR(COLOR_BLUE));
if (enabled_features & FEATURE_NCURSES)
out->print_str(MSG_POS, MSG_NCURSES, COLOR_PAIR(COLOR_YELLOW));
else
out->print_str(MSG_POS, MSG_NORMAL, COLOR_PAIR(COLOR_YELLOW));
out->print_str(SEED_POS, "Seed: " + std::to_string(seed),
COLOR_PAIR(COLOR_BLUE));
out->print_str(cur, "->", COLOR_PAIR(COLOR_GREEN));
} }

View File

@ -15,7 +15,7 @@ private:
public: public:
menu(const feature enabled_features); menu(const feature enabled_features);
int run(input *in); int run(input *in);
void print(display *out); void print(display *out, const unsigned int seed);
}; };
#endif #endif