Matus Tokarcik
1 month ago
1 changed files with 54 additions and 0 deletions
@ -0,0 +1,54 @@ |
|||
#include "snake.h" |
|||
#include <stdlib.h> |
|||
|
|||
struct snake* add_snake(struct snake* snake,int x,int y){ |
|||
struct snake* head = calloc(1,sizeof(struct snake)); |
|||
head->x = x; |
|||
head->y = y; |
|||
head->next = snake; |
|||
return head; |
|||
} |
|||
struct snake* remove_snake(struct snake* snake){ |
|||
|
|||
if(snake == NULL){ |
|||
return NULL; |
|||
} |
|||
if(snake->next == NULL){ |
|||
free(snake); |
|||
return NULL; |
|||
} |
|||
struct snake* prev = NULL; |
|||
|
|||
|
|||
for(struct snake* current = snake; current->next != NULL; current = current->next){ |
|||
prev = current; |
|||
} |
|||
|
|||
free(prev->next); |
|||
|
|||
prev->next = NULL; |
|||
|
|||
return snake; |
|||
|
|||
} |
|||
|
|||
void free_snake(struct snake* sn){ |
|||
} |
|||
|
|||
int is_snake(struct snake* snake,int x,int y){ |
|||
struct snake* this = snake; |
|||
while (this->next != NULL){ |
|||
|
|||
if(this->x == x && this->y == y){ |
|||
return 1; |
|||
} |
|||
this = this->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