2
0
Эх сурвалжийг харах

Games: Snake: Fixes snake head collision with fruit

CheckCollisionRecs() returns true on edge-collision what means that the
snake eats the fruit when colliding with it but also when sliding by one
unit above or below the fruit.
Joseph-Eugene Winzer 7 жил өмнө
parent
commit
ab7acd6e34
1 өөрчлөгдсөн 2 нэмэгдсэн , 2 устгасан
  1. 2 2
      games/snake.c

+ 2 - 2
games/snake.c

@@ -220,8 +220,8 @@ void UpdateGame(void)
             }
 
             // collision
-            if (CheckCollisionRecs((Rectangle){(int)snake[0].position.x, (int)snake[0].position.y, (int)snake[0].size.x, (int)snake[0].size.y},
-                                   (Rectangle){(int)fruit.position.x, (int)fruit.position.y, (int)fruit.size.x, (int)fruit.size.y}))
+            if ((snake[0].position.x < (fruit.position.x + fruit.size.x) && (snake[0].position.x + snake[0].size.x) > fruit.position.x) &&
+                (snake[0].position.y < (fruit.position.y + fruit.size.y) && (snake[0].position.y + snake[0].size.y) > fruit.position.y))
             {
                 snake[counterTail].position = snakePosition[counterTail - 1];
                 counterTail += 1;