#include "snake.h" #include struct snake* add_snake(struct snake* snake,int x,int y){ struct snake* nova_hlava = malloc(sizeof(struct snake)); //vytvorim novu hlavu na ktoru nalinkujem staru hlavu ako telo nova_hlava -> x = x; nova_hlava -> y = y; //zapisem suradnice novej hlavy do novej struktury nova_hlava -> next = snake; //dalsi segment (next) je stara hlava zo vstupu funkcie return nova_hlava; } struct snake* remove_snake(struct snake* snake){ if (snake == NULL) return NULL; // valgrind chce na tento test reisenie struct snake* clanok = snake; if (snake -> next == NULL) { free(snake); return NULL; } while (clanok -> next -> next != NULL) { // posuvam sa po hadovi kym nenajdem koniec chvosta ktory odmazem clanok = clanok -> next; } free (clanok -> next); //po tom co som nasiel kde je koniec, odmazem koniec chvosta a korunujem nasledujuci clanok novym koncom clanok -> next = NULL; return snake; //kedze som menil snaka podla referenciam v pamati, mozem vratit noveho stareho hada } 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; }