You have collision checking working but as we add more cabbages it makes the code easier if you convert your existing collision code to a function.
Step 1. To create as a function we will use the isCollision
to return a
True or False return, to do that type the following at the end of the
#Define functions
section:
def isCollision(t1, t2):
d = math.sqrt(math.pow(t1.xcor()-t2.xcor(),2) + math.pow(t1.ycor()-t2.ycor(),2))
if d < 20:
return True
else:
return False
So your function uses t1 and t2 as generic terms instead of turtle and food and uses the same collision formula as before with an if statement that returns a True vales if they are in the same location (collide) and a False value when they donβt.
Step 2. Now you need to update the code within the while True loop # Collision checking section to look like:
# Collision checking
if isCollision(player, food):
food.setposition(random.randint(-290, 290), random.randint(-290, 290))
Step 3. Save your game as kbgame5 and run your module.
Your code should now look like this: kbgame5.py
Congratulations Module 5 Completed