domaca_uloha_7
This commit is contained in:
parent
1f52f19175
commit
ad74267726
36
du7/snake.c
36
du7/snake.c
@ -62,5 +62,41 @@ int is_snake(struct snake* snake,int x,int y){
|
||||
int step_state(struct state* st){
|
||||
int nx = (st->snake->x + st->sx);
|
||||
int ny = (st->snake->y + st->sy);
|
||||
int i, pocetJedal = FOOD_COUNT;
|
||||
|
||||
struct snake* had = calloc(1, sizeof(struct snake));
|
||||
struct snake* hlava = calloc(1, sizeof(struct snake));
|
||||
|
||||
had = st->snake;
|
||||
hlava = st->snake;
|
||||
|
||||
while (had != NULL) {
|
||||
if (snake->x == nx || snake->y == ny) return END_SNAKE;
|
||||
|
||||
for (i = 0; i < FOOD_COUNT; i++) {
|
||||
if (foodx[i] == nx) {
|
||||
if (foody[i] == ny) {
|
||||
had = add_snake(had, foodx[i], foody[i]);
|
||||
|
||||
foodx[i] = -1;
|
||||
foody[i] = -1;
|
||||
pocetJedal--;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (pocetJedal == 0) return END_FOOD;
|
||||
}
|
||||
|
||||
had = hlava;
|
||||
free(hlava);
|
||||
|
||||
if (nx > 0 && nx < width) {
|
||||
if (ny > 0 && ny < height) {
|
||||
had = add_snake(had, nx, ny);
|
||||
had = remove_snake(had);
|
||||
}
|
||||
}
|
||||
|
||||
return END_CONTINUE;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user