Michal Utľák
3 weeks ago
1 changed files with 62 additions and 0 deletions
@ -0,0 +1,62 @@ |
|||
#include "snake.h" |
|||
#include <stdlib.h> |
|||
|
|||
struct snake* add_snake(struct snake* snake,int x,int y){ |
|||
struct snake* hlavicka = calloc(1,sizeof(struct snake)); |
|||
|
|||
hlavicka->x = x; |
|||
hlavicka->y = y; |
|||
|
|||
hlavicka->next = snake; |
|||
|
|||
return hlavicka; |
|||
} |
|||
|
|||
struct snake* remove_snake(struct snake* snake){ |
|||
|
|||
if (snake == NULL || snake->next == NULL) { |
|||
return NULL; |
|||
} |
|||
|
|||
struct snake* predtym = NULL; |
|||
struct snake* teraz = snake; |
|||
while (teraz->next != NULL) { |
|||
predtym = teraz; |
|||
teraz = teraz->next; |
|||
} |
|||
|
|||
free(teraz); |
|||
predtym->next = NULL; |
|||
|
|||
return snake; |
|||
} |
|||
|
|||
void free_snake(struct snake* sn){ |
|||
if (sn == NULL) { |
|||
return; |
|||
} |
|||
free_snake(sn->next); |
|||
free(sn); |
|||
} |
|||
|
|||
int is_snake(struct snake* snake,int x,int y){ |
|||
if(snake == NULL){ |
|||
return NULL; |
|||
} |
|||
|
|||
struct snake* pozicia = snake; |
|||
|
|||
while(pozicia != NULL){ |
|||
if(pozicia->x == x && pozicia->y == y){ |
|||
return 1; |
|||
} |
|||
pozicia = pozicia->next; |
|||
} |
|||
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; |
|||
} |
Loading…
Reference in new issue