游戏制作步骤:
制作需注意点:
1. 游戏角色的使用需提前进行注册
2. 游戏角色的图片与python文件置于同一文件路径下,方可直接写图片名称。否则则需要将图片路径都写全。
代码展示
import turtle # 导入画图库
import time # 导入时间库
import random # 导入随机数库
playground = turtle.Screen() #初始化屏幕
playground.setup(800, 500) # 设置屏幕大小
# 设置文本内容
writer = turtle.Turtle()
writer.color('brown') # 设置画笔颜色
writer.hideturtle() # 隐藏画笔头
writer.penup() # 提起笔移动,可消除移动轨迹
writer.home() # 把画笔归于(0,0) 点
writer.write('Tom & Jerry',align = 'center',
font = ('Comic Sans Ms',50,'bold'))
# 编辑文字
# turtle.write(‘文本’,align = ‘center’居中 ,font =(‘文字格式类型’,字体大小,粗细))
writer.goto(0,-50)
writer.write('ARE YOU READY ! 3 2 1',align = 'center',
font = ('Comic Sans Ms',20,'bold'))
time.sleep(3) # 游戏界面等待3秒进入
writer.clear() # 进入之后清空屏幕
# 注册tom和jerry两个角色(tom,一个路径下)---直接引用图片名字
playground.register_shape('Tom.gif')
playground.register_shape('Jerry.gif')
# tom 角色jerry,和Python文件在同一个路径下
tom = turtle.Turtle()
tom.shape('Tom.gif')
tom.penup()
tom.goto(random.randint(-200,200),random.randint(-200,200)) #tom和jerry随机出现
# jerry角色
jerry = turtle.Turtle()
jerry.shape('Jerry.gif')
jerry.penup()
jerry.speed(0) #设置jerry的速度
jerry.goto(random.randint(-200, 200), random.randint(-200, 200))
# 按键响应
def up():
jerry.setheading(90) # .setheading(角度) 表示jerry向上朝向的角度
jerry.forward(20) # .forward() 表示角色移动的距离
def down():
jerry.setheading(270)
jerry.forward(20)
def left():
jerry.setheading(180)
jerry.forward(20)
def right():
jerry.setheading(0)
jerry.forward(20)
# 屏幕按键设置
playground.onkey(up, 'Up')
playground.onkey(down, 'Down')
playground.onkey(left, 'Left')
playground.onkey(right, 'Right')
#屏幕按键响应
playground.listen()
# 时间计时
start = time.time()
while True:
tom.setheading(tom.towards(jerry)) # tom朝着jerry的方向追逐
tom.pendown() # tom笔放下可看出tom运动轨迹
tom.forward(10)
if tom.distance(jerry) < 10:
end = time.time()
playground.clear()
jerry.pencolor('brown') # 使用jerry画笔来实现最后文本输入
jerry.home()
jerry.write('Game Over!',align = 'center',
font = ('Comic Sans Ms',50,'bold'))
jerry.goto(0,-50)
jerry.write('YOU SAVE {:.1f} SECOND'.format(end-start),
align='center',font=('Comic Sans Ms', 20, 'bold'))
break
# 保持界面不会闪退
turtle.done()
实现效果:
开头页面
角色展示
结束页面
结尾寄语:大家想必都看过猫和老鼠的动画片吧!自己试试跟着敲敲代码,制作一下这款小游戏,相信最后你一定会有一定的感触!