From: Laurent Mazet Date: Sun, 8 Sep 2024 21:46:07 +0000 (+0200) Subject: add central messages X-Git-Tag: v1.0~5 X-Git-Url: https://secure.softndesign.org/git/?a=commitdiff_plain;h=7b7feed20e69e9633e1ae04ad8fd8cb5a1b1a752;p=snake.git add central messages --- diff --git a/display.c b/display.c index 38b8b77..4e9ba2d 100644 --- a/display.c +++ b/display.c @@ -241,6 +241,20 @@ void msgwindow (char *msg, int xoffset, int yoffset, int length) setcolor (black_gray); } +void msg2window (char *msg, int xoffset, int yoffset) +{ + int i; + setcolor (gray_black); + int length = strlen (msg) + 2; + xoffset -= length / 2; + _dobound (length, 1, xoffset, yoffset); + for (i = 0; i < length; i++) { + mvaddch (yoffset, xoffset + i, ' '); + } + mvaddstr (yoffset, xoffset + 1, msg); + setcolor (black_gray); +} + void displaysnake (board_t *board, snake_t *snake) { int i; diff --git a/display.h b/display.h index 63f2a35..98b8159 100644 --- a/display.h +++ b/display.h @@ -34,6 +34,8 @@ char *savewindow (int length, int xoffset, int yoffset); void msgwindow (char *msg, int xoffset, int yoffset, int length); +void msg2window (char *msg, int xoffset, int yoffset); + void displaysnake (board_t *board, snake_t *snake); void scorewindow (int xoffset, int yoffset, int length, int score, int duration); diff --git a/snake.c b/snake.c index b1a2ac3..222a305 100644 --- a/snake.c +++ b/snake.c @@ -249,13 +249,15 @@ int main (int argc, char *argv[]) switch (mode) { case 0: msgwindow ("Press

to start", xmsg, ymsg, lmsg); + msg2window ("Game passed", xboard + board->xsize / 2, yboard + (board->ysize - 1) / 2); break; case 1: sprintf (msg, "Speed %d", (turnspanmax - turnspan) / spangap + 1); msgwindow (msg, xmsg, ymsg, lmsg); break; case 2: - msgwindow ("End of game", xmsg, ymsg, lmsg); + msgwindow ("Press to quit", xmsg, ymsg, lmsg); + msg2window ("End of game", xboard + board->xsize / 2, yboard + (board->ysize - 1) / 2); break; }