From a1e71bd3723111404e5f02f82d888abada0e3e11 Mon Sep 17 00:00:00 2001 From: bePrivate Date: Tue, 31 Oct 2023 14:41:30 +0100 Subject: [PATCH] feature made light theme work --- main | Bin 21864 -> 22088 bytes src/main.c | 75 +++++++++++++++++++++++++++++++++++++++-------------- 2 files changed, 55 insertions(+), 20 deletions(-) diff --git a/main b/main index b69e71b8e6c29aa8ead03359c1d2986bf01b1c37..595bbdae186a27e2118704117ef9973a0809f5cb 100755 GIT binary patch literal 22088 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 diff --git a/src/main.c b/src/main.c index 3025cd4..9502317 100644 --- a/src/main.c +++ b/src/main.c @@ -10,17 +10,18 @@ #include #include -#define RESET "\x1b[37;0m" // color 0 -#define RED "\x1b[37;41m" // color 1 -#define GREEN "\x1b[37;42m" // color 2 -#define YELLOW "\x1b[37;43m" // color 3 -#define GRAY "\x1b[37;90m" // color gray +char *RESET = "\x1b[0m"; +char *RED = "\x1b[31m"; +char *GREEN = "\x1b[32m"; +char *YELLOW = "\x1b[33m"; +char *GRAY = "\x1b[7m"; char wordlist_path[1024]; char wordlist[16384][6]; // 2^14 int len_wordlist = 0; int flag_verbose = 0; int flag_worldlist = 0; +int flag_light_theme = 0; char playfield[6][5] = { { ' ', ' ', ' ', ' ', ' ' }, { ' ', ' ', ' ', ' ', ' ' }, @@ -72,11 +73,12 @@ void print_help_and_usage() { "Help and usage for wordlec:\n" "\n" "Help:\n" - "--wordlist ........... specify a custom wordlist\n" - " RULES: five characters on each line (no empty lines),\n" - " each new line is separated by '\\n' (Enter/Return)\n" - "--verbose .................................... be verbose (show what the program is doing aka debug info)\n" - "--help ....................................... show this help screen\n" + "-w/--wordlist ........... specify a custom wordlist\n" + " RULES: five characters on each line (no empty lines),\n" + " each new line is separated by '\\n' (Enter/Return)\n" + "-l/--light-theme ................................ activate light theme\n" + "-v/--verbose .................................... be verbose (show what the program is doing aka debug info)\n" + "-h/--help ....................................... show this help screen\n" ); } @@ -122,28 +124,28 @@ void clear() { */ void show() { clear(); - printf(GRAY "╔═══╦═══╦═══╦═══╦═══╗" RESET "\n"); + printf("%s╔═══╦═══╦═══╦═══╦═══╗%s\n", GRAY, RESET); for (int i = 0; i < 6; i++) { for (int j = 0; j < 5; j++) { switch (pf_props[i][j][1]) { case '0': - printf(GRAY "║" RESET " %c ", playfield[i][j]); + printf("%s║ %c ", GRAY, playfield[i][j]); break; case '1': - printf(GRAY "║" RED " %c " RESET, playfield[i][j]); + printf("%s║%s %c %s", GRAY, RED, playfield[i][j], RESET); break; case '2': - printf(GRAY "║" GREEN " %c " RESET, playfield[i][j]); + printf("%s║%s %c %s", GRAY, GREEN, playfield[i][j], RESET); break; case '3': - printf(GRAY "║" YELLOW " %c " RESET, playfield[i][j]); + printf("%s║%s %c %s", GRAY, YELLOW, playfield[i][j], RESET); break; } } - printf(GRAY "║" RESET "\n"); - if (i < 5) printf(GRAY "╠═══╬═══╬═══╬═══╬═══╣" RESET "\n"); + printf("%s║%s\n", GRAY, RESET); + if (i < 5) printf("%s╠═══╬═══╬═══╬═══╬═══╣%s\n", GRAY, RESET); } - printf(GRAY "╚═══╩═══╩═══╩═══╩═══╝" RESET "\n"); + printf("%s╚═══╩═══╩═══╩═══╩═══╝%s\n", GRAY, RESET); } /* @@ -279,7 +281,7 @@ int argparse(int argc, char *argv[]) { /* look for invalid arguments */ - if (strcmp(argv[i], argv[0]) != 0 && strcmp(argv[i], "--wordlist") != 0 && strcmp(argv[i-1], "--wordlist") != 0 && strcmp(argv[i], "--verbose") != 0 && strcmp(argv[i], "--help") != 0 && strcmp(argv[i], "-h") != 0 && strcmp(argv[i], "-w") != 0 && strcmp(argv[i-1], "-w") != 0 && strcmp(argv[i], "-v") != 0) { + if (strcmp(argv[i], argv[0]) != 0 && strcmp(argv[i], "--wordlist") != 0 && strcmp(argv[i-1], "--wordlist") != 0 && strcmp(argv[i], "--verbose") != 0 && strcmp(argv[i], "--help") != 0 && strcmp(argv[i], "-h") != 0 && strcmp(argv[i], "-w") != 0 && strcmp(argv[i-1], "-w") != 0 && strcmp(argv[i], "-v") != 0 && strcmp(argv[i], "-l") != 0 && strcmp(argv[i], "--light-theme") != 0) { fprintf(stderr, "Invalid argument %s\n", argv[i]); flag_error = 1; } @@ -309,6 +311,17 @@ int argparse(int argc, char *argv[]) { flag_verbose = 1; } + /* + deciding on light/dark theme + */ + if (strcmp(argv[i], "--light-theme") == 0 && flag_light_theme == 0) { + flag_light_theme = 1; + } + // -------------------------------------------------------------- + if (strcmp(argv[i], "-l") == 0 && flag_light_theme == 0) { + flag_light_theme = 1; + } + /* getting the path to the wordlist */ @@ -356,16 +369,38 @@ void show_win_lose_message() { if (win == 0 && lose == 1) fprintf(stdout, "You lost. :( The word was %s.\n", word_to_guess); } +/* + set the theme (light/dark) +*/ +void set_theme() { + if (flag_light_theme == 1) { + RESET = "\x1b[0;0m"; + RED = "\x1b[0;41m"; + GREEN = "\x1b[0;42m"; + YELLOW = "\x1b[0;43m"; + GRAY = "\x1b[0;7m"; + } else { + RESET = "\x1b[37;0m"; + RED = "\x1b[37;41m"; + GREEN = "\x1b[37;42m"; + YELLOW = "\x1b[37;43m"; + GRAY = "\x1b[37;90m"; + } +} + int main(int argc, char *argv[]) { // pass the arguments int args = argparse(argc, argv); switch (args) { case 1: - return 1; + return 1; // error occured case 2: return 0; // --help passed } + // set light/dark theme + set_theme(); + // prerequisite 1 get_random_word(word_to_guess, wordlist_path);