Fixed snake stacking at boundaries

This commit is contained in:
TriantaTV 2022-08-10 20:05:28 -05:00
parent 7779881cc9
commit 08ee516f0e

View File

@ -70,8 +70,9 @@ void Snake::MoveSnake(sf::RectangleShape& snakeFood)
CheckDirection();
sf::Vector2f newHeadPosition;
newHeadPosition = GetSnakeHeadPosition();
if (!CheckBoundaries())
newHeadPosition = CalculateNewPosition(snakeDirection, newHeadPosition);
if (CheckBoundaries())
return;
newHeadPosition = CalculateNewPosition(snakeDirection, newHeadPosition);
sf::RectangleShape newBodyPart(sf::Vector2f(25,25));
newBodyPart.setPosition(newHeadPosition);
if (IsSelfCollision(newBodyPart)) // Do nothing if self collision