Games: Snake: Fixes fruit spawn position

If the initial fruit position collides with the snake's body a new
position for the fruit is generated but without adding the grid offset.
This commit is contained in:
Joseph-Eugene Winzer 2018-08-13 23:52:18 +02:00
parent 34493ed231
commit b4c02d94a0
1 changed files with 6 additions and 6 deletions

View File

@ -203,7 +203,7 @@ void UpdateGame(void)
if ((snake[0].position.x == snake[i].position.x) && (snake[0].position.y == snake[i].position.y)) gameOver = true; if ((snake[0].position.x == snake[i].position.x) && (snake[0].position.y == snake[i].position.y)) gameOver = true;
} }
// TODO: review logic: fruit.position calculation // fruit.position calculation
if (!fruit.active) if (!fruit.active)
{ {
fruit.active = true; fruit.active = true;
@ -211,11 +211,11 @@ void UpdateGame(void)
for (int i = 0; i < counterTail; i++) for (int i = 0; i < counterTail; i++)
{ {
while ((fruit.position.x == snake[i].position.x) && (fruit.position.y == snake[i].position.y)) while ((fruit.position.x == snake[i].position.x) && (fruit.position.y == snake[i].position.y))
{ {
fruit.position = (Vector2){ GetRandomValue(0, (screenWidth/SQUARE_SIZE) - 1)*SQUARE_SIZE, GetRandomValue(0, (screenHeight/SQUARE_SIZE) - 1)*SQUARE_SIZE }; fruit.position = (Vector2){ GetRandomValue(0, (screenWidth/SQUARE_SIZE) - 1)*SQUARE_SIZE + offset.x/2, GetRandomValue(0, (screenHeight/SQUARE_SIZE) - 1)*SQUARE_SIZE + offset.y/2 };
i = 0; i = 0;
} }
} }
} }