import turtle#绘制猫抓老鼠的路线
import time#计算存活的时间
import random#生成随机位置
def up():#jerry往上移动的操作
jerry.setheading(90)#逆时针转动90度
jerry.forward(20)#移动的长度
def down():#jerry往下移动的操作
jerry.setheading(270)#逆时针转270度
jerry.forward(20)#移动的长度
def left():#jerry向左移动的操作
jerry.setheading(180)
jerry.forward(20)
def right():#jerry向右
jerry.setheading(0)
jerry.forward(20)
playground=turtle.Screen()#创建一个窗口
playground.register_shape(‘tom.gif’)#定义画笔的形状 定义成tom的形状
playground.register_shape(‘jerry.gif’)#定义画笔的形状 定义成jerry的形状
playground.onkey(up,’Up’)#调用onkey 函数读取键盘上的信息 将键盘的上下左右与函数关联起来
playground.onkey(down,’Down’)
playground.onkey(left,’Left’)
playground.onkey(right,’Right’)
监听
playground.listen()#监听 看是否接收到了一个对象
writer=turtle.Turtle()#创建了一个Turtle(一个可移动的对象)
writer.color(‘brown’)#定义画笔对象的颜色
writer.hideturtle()#隐藏画笔
writer.penup()
writer.home()#返回原点图片
writer.write(“Tom & JERRle”,align=’center’,font=(“Comic sans MS”,50,”bold”))
打印“Tom&JERRle” 用write 调整参数 使其呈现在屏幕的中间
writer.goto(0,-50)#从原点走到0 -50 的地方
writer.write(“READie?3,2,1,GO”,align=’center’,font=(“Comic sans MS”,20,”bold”))
同 write
time.sleep(3)
倒计时三秒后 清空画布
writer.clear()
定义tom猫的变量和位置
tom=turtle.Turtle()
tom.shape(‘tom.gif’)
tom.penup()
随机生成 位置
tom.goto(random.randint(-200,200),random.randint(-200,200))
tom.pendown()
tom.pensize(3)
tom.color(‘blue’)
同上
jerry=turtle.Turtle()
jerry.shape(‘jerry.gif’)
jerry.speed(0)#移动速度
jerry.penup()
jerry.goto(random.randint(-200,200),random.randint(-200,200))
jerry.color(‘brown’)
start=time.time()#记录下存活时间
while True:
tom.setheading(tom.towards(jerry))#设置tom追踪的方向 指向jerry
tom.forward(5)
#终止条件
if tom.distance(jerry)<10:
end=time.time()#记录终止的时间
playground.clear()#清空画布
jerry.goto(0,0)#回归原点
#打印出游戏结束
jerry.write(“GAME OVER”,align=’center’,font=(“Comic sans MS”,50,”bold”))
jerry.goto(0,-50)
#打印存活的时间
jerry.write(“YOU SURVIVED {:.1f} SECONDS”.format(end-start),align=’center’,font=(“Comic sans MS”,20,”bold”))
tom.pu()
tom.goto(-50,-70)
tom.stamp()#形成运动过程
jerry.pu()
jerry.goto(50,-70)
jerry.stamp()#形成运动过程
break