From 3a3607c250887deeb481282e958efae6df6a35f4 Mon Sep 17 00:00:00 2001 From: Laurent Mazet Date: Mon, 9 Sep 2024 23:10:13 +0200 Subject: [PATCH] display speed in wide mode --- function.c | 7 ++++++- snake.c | 3 +++ type.h | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/function.c b/function.c index 90aa293..ab56b33 100644 --- a/function.c +++ b/function.c @@ -134,7 +134,7 @@ int _sprinttab (char *buffer, char *name, int *tab, int nb) char *saveboard (data_t *data) { - int size = 6 * (7 + 3 + 3) + 1 + 6; + int size = 7 * (7 + 3 + 3) + 1 + 6; size += 5 + 5 + data->board->width * data->board->height + 1; size += 2 * (5 + 5 + data->snake->length + 1); VERBOSE (INFO, size += data->board->height * (8 + data->board->width)); @@ -149,6 +149,7 @@ char *saveboard (data_t *data) l += sprintf (buffer + l, "score: %d\n", data->score); l += sprintf (buffer + l, "tab: \"%s\"\n", data->board->tab); l += sprintf (buffer + l, "turnspan: %d\n", data->turnspan); + l += sprintf (buffer + l, "wide: %d\n", data->wide); l += sprintf (buffer + l, "width: %d\n", data->board->width); l += _sprinttab (buffer + l, "xsnake", data->snake->x, data->snake->length); l += _sprinttab (buffer + l, "ysnake", data->snake->y, data->snake->length); @@ -222,6 +223,7 @@ data_t *loaddata (char *str) int score = 0; char *tab = NULL; int turnspan = 0; + int wide = 0; int width = 0; char *xsnake = NULL; char *ysnake = NULL; @@ -252,6 +254,8 @@ data_t *loaddata (char *str) tab = atos (value); } else if (strcmp (keyword, "turnspan") == 0) { turnspan = atoi (value); + } else if (strcmp (keyword, "wide") == 0) { + wide = atoi (value); } else if (strcmp (keyword, "width") == 0) { width = atoi (value); } else if (strcmp (keyword, "xsnake") == 0) { @@ -277,6 +281,7 @@ data_t *loaddata (char *str) data->duration = duration; data->score = score; data->turnspan = turnspan; + data->wide = wide; data->snake->dir = direction; data->snake->length = length; for (i = 0; i < length; i++) { diff --git a/snake.c b/snake.c index 1d51419..1dbb864 100644 --- a/snake.c +++ b/snake.c @@ -145,6 +145,7 @@ int main (int argc, char *argv[]) score = data->score; snake = data->snake; turnspan = data->turnspan; + wide = data->wide; free (data); } @@ -306,6 +307,7 @@ int main (int argc, char *argv[]) data->duration = duration; data->score = score; data->turnspan = turnspan; + data->wide = wide; char *ptr = saveboard (data); if (writedata (savename, ptr)) { VERBOSE (WARNING, printf ("issue writing Board\n")); @@ -361,6 +363,7 @@ int main (int argc, char *argv[]) /* test: snake.exe -s 4 2>&1 | grep incorrect */ /* test: snake.exe -v 2>&1 | grep missing */ /* test: snake.exe _ 2>&1 | grep invalid */ +/* test: { for c in p i j h x k l q; do sleep 1; echo -ne $c; done; } | snake.exe -w */ /* test: { for c in p i j k l 'stest.snk\n' q; do sleep 1; echo -ne $c; done; } | snake.exe -v 2 */ /* test: { for c in p i j k l '' k '' j 'stest.snk\n' q; do sleep 1; echo -ne $c; done; } | snake.exe -s 0 */ /* test: { for c in p k q; do sleep 1; echo -n $c; done; } | snake.exe -s 0 -f test.snk && rm test.snk*/ diff --git a/type.h b/type.h index 25438ce..c9293f5 100644 --- a/type.h +++ b/type.h @@ -33,6 +33,7 @@ typedef struct { int duration; int score; int turnspan; + int wide; snake_t *snake; } data_t; -- 2.30.2