From 054c9c903657077ba908561ffa5d49096ec327c5 Mon Sep 17 00:00:00 2001 From: Anzhelika Nikolaieva Date: Thu, 13 Apr 2023 14:02:32 +0000 Subject: [PATCH] Update 'du7/snake.c' --- du7/snake.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/du7/snake.c b/du7/snake.c index 7535d1a..8092cd4 100644 --- a/du7/snake.c +++ b/du7/snake.c @@ -35,7 +35,7 @@ struct snake* remove_snake(struct snake* snake){ void free_snake(struct snake* sn){ - struct snake* current = snake; + struct snake* current = sn; while (current != NULL) { struct snake* next = current->next; free(current); @@ -60,22 +60,22 @@ int is_snake(struct snake* snake,int x,int y){ int step_state(struct state* st){ int nx = (st->snake->x + st->sx); int ny = (st->snake->y + st->sy); - if (new_head_x < 0 || new_head_x >= state->width || new_head_y < 0 || new_head_y >= state->height) { + if (nx < 0 || nx >= st->width || ny < 0 || ny >= st->height) { return END_WALL; } // Check if snake hit itself - if (is_snake(state->snake, new_head_x, new_head_y)) { + if (is_snake(st->snake, nx, ny)) { return END_SNAKE; } // Check if snake ate food int food_eaten = 0; for (int i = 0; i < FOOD_COUNT; i++) { - if (state->foodx[i] >= 0 && state->foodx[i] == new_head_x && state->foody[i] == new_head_y) { - state->foodx[i] = -1; - state->foody[i] = -1; - state->snake = add_snake(state->snake, new_head_x, new_head_y); + if (st->foodx[i] >= 0 && st->foodx[i] == nx && st->foody[i] == ny) { + st->foodx[i] = -1; + st->foody[i] = -1; + st->snake = add_snake(st->snake, nx, ny); food_eaten = 1; break; } @@ -85,7 +85,7 @@ int step_state(struct state* st){ if (!food_eaten) { int food_left = 0; for (int i = 0; i < FOOD_COUNT; i++) { - if (state->foodx[i] >= 0) { + if (st->foodx[i] >= 0) { food_left = 1; break; } @@ -94,9 +94,9 @@ int step_state(struct state* st){ return END_FOOD; } // Remove the last snake part - state->snake = remove_snake(state->snake); + st->snake = remove_snake(st->snake); // Add new snake part - state->snake = add_snake(state->snake, new_head_x, new_head_y); + st->snake = add_snake(st->snake, nx, ny); } return END_CONTINUE;