From 6a597bca3daa3610a9ac50c3f7ab19be3fe232a9 Mon Sep 17 00:00:00 2001 From: Feuerfuchs Date: Thu, 14 Feb 2019 10:09:39 +0100 Subject: [PATCH] Add a colorful version of the mini colorscheme --- schemes.h | 41 +++++++++++++++++++++++++++++++++++++++++ sol.c | 5 +++-- sol.h | 3 ++- 3 files changed, 46 insertions(+), 3 deletions(-) diff --git a/schemes.h b/schemes.h index 733ba6a..8aedec5 100644 --- a/schemes.h +++ b/schemes.h @@ -26,6 +26,8 @@ struct scheme { #define BULCARD(s, r) \ ULCARD("\017\033[2m" s "\033[22m", r)//WARN: requires hack in print_hi() #define USCARD(c) (char*[]){c} +#define RUSCARD(c) (char*[]){"\033[91m" c "\033[39m "} +#define BUSCARD(c) (char*[]){"\017\017\017\017\017" c "\017\017\017\017\017 "} const struct scheme unicode_large_mono = { .width = 5, @@ -184,4 +186,43 @@ const struct scheme unicode_small_mono = { .halfcard = (int[]){0}, .halfwidth = {1, 1, 4}, }; +const struct scheme unicode_small_color = { + .width = 2, + .height = 1, + .overlap = 1, + .card = { + [NO_CARD] = (char*[]){" "}, + [CLU_A] = BUSCARD("🃑"), [DIA_A] = RUSCARD("🃁"), + [HEA_A] = RUSCARD("🂱"), [SPA_A] = BUSCARD("🂡"), + [CLU_2] = BUSCARD("🃒"), [DIA_2] = RUSCARD("🃂"), + [HEA_2] = RUSCARD("🂲"), [SPA_2] = BUSCARD("🂢"), + [CLU_3] = BUSCARD("🃓"), [DIA_3] = RUSCARD("🃃"), + [HEA_3] = RUSCARD("🂳"), [SPA_3] = BUSCARD("🂣"), + [CLU_4] = BUSCARD("🃔"), [DIA_4] = RUSCARD("🃄"), + [HEA_4] = RUSCARD("🂴"), [SPA_4] = BUSCARD("🂤"), + [CLU_5] = BUSCARD("🃕"), [DIA_5] = RUSCARD("🃅"), + [HEA_5] = RUSCARD("🂵"), [SPA_5] = BUSCARD("🂥"), + [CLU_6] = BUSCARD("🃖"), [DIA_6] = RUSCARD("🃆"), + [HEA_6] = RUSCARD("🂶"), [SPA_6] = BUSCARD("🂦"), + [CLU_7] = BUSCARD("🃗"), [DIA_7] = RUSCARD("🃇"), + [HEA_7] = RUSCARD("🂷"), [SPA_7] = BUSCARD("🂧"), + [CLU_8] = BUSCARD("🃘"), [DIA_8] = RUSCARD("🃈"), + [HEA_8] = RUSCARD("🂸"), [SPA_8] = BUSCARD("🂨"), + [CLU_9] = BUSCARD("🃙"), [DIA_9] = RUSCARD("🃉"), + [HEA_9] = RUSCARD("🂹"), [SPA_9] = BUSCARD("🂩"), + [CLU_X] = BUSCARD("🃚"), [DIA_X] = RUSCARD("🃊"), + [HEA_X] = RUSCARD("🂺"), [SPA_X] = BUSCARD("🂪"), + [CLU_J] = BUSCARD("🃛"), [DIA_J] = RUSCARD("🃋"), + [HEA_J] = RUSCARD("🂻"), [SPA_J] = BUSCARD("🂫"), + [CLU_Q] = BUSCARD("🃝"), [DIA_Q] = RUSCARD("🃍"), + [HEA_Q] = RUSCARD("🂽"), [SPA_Q] = BUSCARD("🂭"), + [CLU_K] = BUSCARD("🃞"), [DIA_K] = RUSCARD("🃎"), + [HEA_K] = RUSCARD("🂾"), [SPA_K] = BUSCARD("🂮"), + }, + .facedown = (char*[]){"🂠 "}, + .placeholder = (char*[]){"❲❳"}, + .halfstack = (char*[]){"🂠"}, + .halfcard = (int[]){0}, + .halfwidth = {1, 1, 14}, +}; #endif diff --git a/sol.c b/sol.c index 2362421..46a66d2 100644 --- a/sol.c +++ b/sol.c @@ -69,7 +69,7 @@ int main(int argc, char** argv) { int optget; opterr = 0; /* don't print message on unrecognized option */ - while ((optget = getopt (argc, argv, "+:hs:vbcmV")) != -1) { + while ((optget = getopt (argc, argv, "+:hs:vbcmMV")) != -1) { switch (optget) { #ifdef SPIDER case 's': /* number of suits */ @@ -82,7 +82,8 @@ int main(int argc, char** argv) { #endif case 'b': op.s = &unicode_large_mono; break; case 'c': op.s = &unicode_large_color; break; - case 'm': op.s = &unicode_small_mono; break; /* "mini" */ + case 'm': op.s = &unicode_small_mono; break; /* "mini, monochrome" */ + case 'M': op.s = &unicode_small_color; break; /* "mini, colorful" */ case 'V': op.v = 0; /* WARN: experimental; might change */ case 'h': default: goto error; error: diff --git a/sol.h b/sol.h index d8545fd..3076af0 100644 --- a/sol.h +++ b/sol.h @@ -214,7 +214,8 @@ struct undo undo_sentinel; LONGHELP_SPECIFIC \ " -b(land colorscheme)\n" \ " -c(olorful colorscheme)\n" \ - " -m(iniature colorscheme)\n" \ + " -m(iniature colorscheme, monochrome)\n" \ + " -M(iniature colorscheme, colorful)\n" \ " -V(isual bell disable; experimental)\n" \ " -h(elp)\n" \ "\n" -- 2.39.3