From 00c041cc1f5019649d637a81148c6faa06cf5428 Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Thu, 8 Dec 1994 17:51:59 +0000 Subject: [PATCH] This version has a bug. To see it, invoke `blue 23' and type `a'. --- bluemoon.c | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/bluemoon.c b/bluemoon.c index 03b4fbe..dfc7ecc 100644 --- a/bluemoon.c +++ b/bluemoon.c @@ -50,18 +50,18 @@ static char *ranks[SUIT_LENGTH] = static chtype letters[] = { 'h' | COLOR_PAIR(COLOR_RED), /* hearts */ - 's' | A_REVERSE, /* spades */ + 's' | COLOR_PAIR(COLOR_GREEN), /* spades */ 'd' | COLOR_PAIR(COLOR_RED), /* diamonds */ - 'c' | A_REVERSE, /* clubs */ + 'c' | COLOR_PAIR(COLOR_GREEN), /* clubs */ }; #if defined(__i386__) && defined(A_PCCHARSET) static chtype glyphs[] = { '\003' | A_PCCHARSET | COLOR_PAIR(COLOR_RED), /* hearts */ - '\006' | A_PCCHARSET | A_REVERSE, /* spades */ + '\006' | A_PCCHARSET | COLOR_PAIR(COLOR_GREEN), /* spades */ '\004' | A_PCCHARSET | COLOR_PAIR(COLOR_RED), /* diamonds */ - '\005' | A_PCCHARSET | A_REVERSE, /* clubs */ + '\005' | A_PCCHARSET | COLOR_PAIR(COLOR_GREEN), /* clubs */ }; #endif /* __i386__ && A_PCCHARSET */ @@ -184,9 +184,11 @@ int card; { int i; - if ((card<0)||(card>=PACK_SIZE)) return NOCARD; - for(i=0;i=PACK_SIZE)) + return(NOCARD); + for(i = 0; i < GRID_LENGTH; i++) + if (grid[i] == card) + return i; return(NOCARD); } @@ -347,14 +349,18 @@ int deal; refresh(); } -main() +main(int argc, char *argv[]) { (void) signal(SIGINT, die); initscr(); + /* + * We use COLOR_GREEN because COLOR_BLACK is wired to the wrong thing. + */ start_color(); init_pair(COLOR_RED, COLOR_RED, COLOR_WHITE); init_pair(COLOR_BLUE, COLOR_BLUE, COLOR_WHITE); + init_pair(COLOR_GREEN, COLOR_BLACK, COLOR_WHITE); #if defined(__i386__) && defined(A_PCCHARSET) if (tigetstr("smpch")) @@ -363,7 +369,10 @@ main() cbreak(); - srand((int)time((long *)0)); + if (argc == 2) + srand(atoi(argv[1])); + else + srand((int)time((long *)0)); init_vars(); -- 2.43.0