From cadc9cc1f69e312de21d93ae4c63bf20f2f2f292 Mon Sep 17 00:00:00 2001 From: Laurent MAZET Date: Fri, 30 Aug 2024 18:03:26 +0200 Subject: [PATCH] use 3 colors for a snake --- display.c | 13 ++++++++----- function.c | 8 ++++---- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/display.c b/display.c index a71d43b..38b8b77 100644 --- a/display.c +++ b/display.c @@ -82,9 +82,12 @@ void _put_color_block (int y, int x, char symb) mvaddcb (y, x, darkgreen); break; case '4': - mvaddcb (y, x, yellow); + mvaddcb (y, x, darkergreen); break; case '5': + mvaddcb (y, x, yellow); + break; + case '6': mvaddcb (y, x, red); break; } @@ -242,11 +245,11 @@ void displaysnake (board_t *board, snake_t *snake) { int i; - char symb = '2'; - for (i = 0; i < snake->length; i++) { - _element (board, snake->x[i], snake->y[i], symb); - symb = '3'; + _element (board, snake->x[0], snake->y[0], '2'); + for (i = 1; i < snake->length - 1; i++) { + _element (board, snake->x[i], snake->y[i], '3'); } + _element (board, snake->x[snake->length - 1], snake->y[snake->length - 1], '4'); } void scorewindow (int xoffset, int yoffset, int length, int score, int duration) diff --git a/function.c b/function.c index d186739..63e8c56 100644 --- a/function.c +++ b/function.c @@ -299,7 +299,7 @@ int movesnake (board_t *board, snake_t *snake, int dir) char *cell = getcell (board, x, y); switch (*cell) { - case '5': /* decrease size */ + case '6': /* decrease size */ if (snake->length > 2) { snake->length--; snake->x[snake->length] = 0; @@ -312,7 +312,7 @@ int movesnake (board_t *board, snake_t *snake, int dir) snake->y[i] = snake->y[i - 1]; } break; - case '4': /* increase size */ + case '5': /* increase size */ for (i = snake->length - 1; i >= 0; i--) { snake->x[i + 1] = snake->x[i]; snake->y[i + 1] = snake->y[i]; @@ -344,7 +344,7 @@ void drawbonus (board_t *board, snake_t *snake, int malus, int bonus) x = rand () % board->width; y = rand () % board->height; } while (isown (snake, x, y)); - *getcell (board, x, y) = '4'; + *getcell (board, x, y) = '5'; } for (i = 0; i < bonus; i++) { @@ -352,7 +352,7 @@ void drawbonus (board_t *board, snake_t *snake, int malus, int bonus) x = rand () % board->width; y = rand () % board->height; } while (isown (snake, x, y)); - *getcell (board, x, y) = '5'; + *getcell (board, x, y) = '6'; } } -- 2.30.2