import turtle
import time
boxsize=200
caught=False
score=0
#functions that are called on keypresses
def up():
mouse.forward(10)
checkbound()
def left():
mouse.left(45)
def right():
mouse.right(45)
def down():
mouse.backward(10)
checkbound()
def quitTurtles():
window.bye()
#stop the mouse from leaving window
def checkbound():
global boxsize
if mouse.xcor() > boxsize:
mouse.goto(boxsize,mouse.ycor())
if mouse.xcor() < -boxsize:
mouse.goto(-boxsize,mouse.ycor())
if mouse.ycor() > boxsize:
mouse.goto(mouse.xcor(),boxsize)
if mouse.ycor() < -boxsize:
mouse.goto(mouse.xcor(),-boxsize)
#setup screen
window = turtle.Screen()
mouse = turtle.Turtle()
cat= turtle.Turtle()
me=turtle.Turtle()
mouse.goto(100,100)
me.goto(-100,-100)
#add key listeners
window.onkeypress(up,"Up")
window.onkeypress(left,"Left")
window.onkeypress(right,"Right")
window.onkeypress(down,"Down")
window.onkeypress(quitTurtles, "Escape")
difficulty=window.numinput("Difficulty",
"Enter a difficulty from 1 - 5",
minval=1, maxval=5)
window.listen()
#mainloop
#note how it changes with difficulty
while not caught:
cat.setheading(cat.towards(mouse))
cat.forward(8+difficulty)
me.setheading(me.towards(cat))
me.forward(10+difficulty)
score = score+1
if cat.distance(mouse)<5:
caught=True
elif me.distance(cat)<5:
caught=True
time.sleep(0.2-(0.01*difficulty))
window.textinput("GG","Welldone. You scored:"
+ str(score*difficulty))
window.bye()