From 21e7b74860f714e3d147b319794ac0dcc242ac14 Mon Sep 17 00:00:00 2001 From: girst Date: Sun, 21 Feb 2021 01:44:50 +0100 Subject: [PATCH] change how '\' works --- mines.c | 15 ++++++++------- mines.h | 3 +-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/mines.c b/mines.c index a53d429..02cb624 100644 --- a/mines.c +++ b/mines.c @@ -148,7 +148,7 @@ int minesviiper(void) { break; case 's': g.s = (g.s+1)%(op.mode+1); - show_minefield (g.c?SHOWMINES:NORMAL); + show_minefield (NORMAL); break; case CTRSEQ_MOUSE_LEFT: actor = MOUSE; @@ -221,8 +221,9 @@ int minesviiper(void) { break; case '\\': if (g.n == GAME_NEW) break; /* must open a cell first */ - g.c = !g.c; - show_minefield (g.c?SHOWMINES:NORMAL); + show_minefield (SHOWMINES); + wait_keypress(400); + show_minefield (NORMAL); break; } } @@ -360,7 +361,7 @@ int do_uncover (int* is_newgame, int actor) { } else if (actor != MOUSE) { show_stomp(1, g.p[0], g.p[1]); - wait_stomp(); + wait_keypress(STOMP_TIMEOUT); show_stomp(0, g.p[0], g.p[1]); } @@ -647,7 +648,7 @@ void show_stomp (int enable, int l, int c) { } } -void wait_stomp (void) { +void wait_keypress (int timeout) { /* block SIGALRM, otherwise poll gets cancelled by the timer: */ sigset_t sig; sigemptyset (&sig); @@ -657,7 +658,7 @@ void wait_stomp (void) { /* wait for timout or keypress: */ struct pollfd fds; fds.fd = 0; fds.events = POLLIN; - poll(&fds, 1, STOMP_TIMEOUT); + poll(&fds, 1, timeout); /* restore signal mask: */ sigprocmask (SIG_UNBLOCK, &sig, NULL); @@ -960,7 +961,7 @@ void signal_handler (int signum) { case SIGCONT: /* NOTE: will leave the VT220 in special graphics charset */ screen_setup(1); - show_minefield (g.c?SHOWMINES:NORMAL); + show_minefield (NORMAL); break; case SIGINT: exit(128+SIGINT); diff --git a/mines.h b/mines.h index 4b4d6cf..f4e86ce 100644 --- a/mines.h +++ b/mines.h @@ -55,7 +55,6 @@ struct game { int s; /* space mode */ int o; /* mode */ int n; /* new game? */ - int c; /* cheat mode? */ struct markers { int s; /* set? */ int l; /* line */ @@ -82,7 +81,7 @@ int wait_mouse_up (int, int); void redraw_cell (int, int, int); void show_minefield (int); void show_stomp (int, int, int); -void wait_stomp (void); +void wait_keypress (int); int get_neighbours (int, int, int); int uncover_square (int, int); void flag_square (int, int); -- 2.39.3