Files
snake2025/snake.c
2025-05-19 16:06:59 +02:00

30 lines
618 B
C

#include "grid.h"
#include "snake.h"
void crawl(Snake *snake, Grid *g)
{
int i;
Coord new_head = snake->pos[0];
switch (snake->dir)
{
case LEFT:
new_head.x = (new_head.x - 1 + g->nbc) % g->nbc;
break;
case RIGHT:
new_head.x = (new_head.x + 1) % g->nbc;
break;
case TOP:
new_head.y = (new_head.y - 1 + g->nbl) % g->nbl;
break;
case BOTTOM:
new_head.y = (new_head.y + 1) % g->nbl;
break;
}
for (i = SNAKE_SIZE - 1; i > 0; i--)
{
snake->pos[i] = snake->pos[i - 1];
}
snake->pos[0] = new_head;
}