#include "snake.h" #include struct snake* add_snake(struct snake* snake,int x,int y){ struct snake* new_snake = (struct snake*)malloc(sizeof(struct snake)); if (new_snake == NULL) { // Ak sa nepodarilo alokovať pamäť, vrátiť pôvodný zoznam hada return snake; } // Inicializácia nového prvku súradnicami new_snake->x = x; new_snake->y = y; // Pripojenie nového prvku na začiatok hada new_snake->next = snake; // Návrat nového začiatku hada (nového prvku) return new_snake; //return NULL; } struct snake* remove_snake(struct snake* snake){ // Ak je zoznam hada prázdny, vrátiť NULL if (snake == NULL) { return NULL; } // Ak máme iba jeden prvok, uvoľniť ho a vrátiť NULL if (snake->next == NULL) { free(snake); return NULL; } // Prechádzanie zoznamu hada, kým nenájdeme predposledný prvok struct snake* current = snake; while (current->next->next != NULL) { current = current->next; } // Uvoľnenie posledného prvku a nastavenie nového posledného prvku na NULL free(current->next); current->next = NULL; // Vrátenie začiatku zoznamu hada return snake; //return NULL; } void free_snake(struct snake* sn){ } int is_snake(struct snake* snake,int x,int y){ return 0; } int step_state(struct state* st){ int nx = (st->snake->x + st->sx); int ny = (st->snake->y + st->sy); return END_CONTINUE; }