用户:活波的铁奥SORR查看:0 回复:1 评论:0 创建时间:2021-05-16T18:23:14
【作品展示】

【作品介绍】
作品的主题为太空冒险,设有输入与输出的交互式功能,让玩家有种身临其境的感受。途中的UFO出现、让玩家选择处理方式,这些创意更是增添了程序的趣味性。此作品能使玩家体会到宏大宇宙的神秘,能勾起玩家心中的探索精神。当然,此作品也标志着中国在航天史上的伟大成就!
【作品源代码】
# 发射
def go():
t.setup(1000, 620, 50, 0)
t.bgpic("天空.gif")
t.pencolor("white")
t.pensize(2.5)
t.fd(100)
for i in range(1, 11):
t.pensize(5*i)
t.fd(100)
# 地球
def land(n, angle):
t.pencolor('green')
t.circle(10, angle)
t.setheading(n)
def move_line(n):
t.up()
t.lt(180)
t.fd(50)
t.lt(90)
t.fd(n)
t.lt(90)
t.down()
def line(n):
for i in range(n):
if i % 2 == 0:
land(-270, -180)
else:
land(90, 180)
def earth():
t.fillcolor('blue')
t.begin_fill()
t.circle(100)
t.end_fill()
t.up()
t.lt(180)
t.fd(52)
t.rt(90)
t.fd(180)
t.rt(180)
t.fd(159)
t.down()
t.pensize(8)
line(5)
move_line(140)
line(9)
move_line(180)
line(9)
move_line(145)
line(6)
# 月球
def dip(n):
t.fillcolor("gray")
t.begin_fill()
t.circle(n)
t.end_fill()
def moon():
t.pencolor("gray")
t.fillcolor("dark gray")
t.begin_fill()
t.circle(50)
t.end_fill()
t.up()
t.lt(90)
t.fd(60)
t.rt(90)
t.fd(40)
t.lt(90)
t.down()
dip(10)
t.up()
t.lt(90)
t.fd(50)
t.lt(90)
t.fd(40)
t.down()
dip(12)
t.up()
t.lt(180)
t.fd(40)
t.down()
dip(15)
t.rt(90)
dip(10)
def star(length):
t.begin_fill()
for i in range(5):
t.forward(length)
t.left(72)
t.forward(length)
t.right(144)
t.end_fill()
# 火箭
def roket():
t.pencolor("white")
t.fillcolor("white")
t.begin_fill()
for i in range(2):
t.fd(350)
t.lt(90)
t.fd(150)
t.lt(90)
t.end_fill()
t.lt(90)
t.pencolor("red")
t.fillcolor("red")
t.begin_fill()
t.fd(150)
t.lt(110)
t.fd(200)
t.lt(136)
t.fd(205)
t.end_fill()
t.up()
t.fd(110)
t.lt(90)
t.fd(105)
t.down()
t.pencolor('black')
t.fillcolor("light blue")
t.begin_fill()
t.circle(65)
t.end_fill()
t.up()
t.rt(80)
t.fd(215)
t.lt(105)
t.down()
t.pencolor("orange")
t.fillcolor("orange")
t.begin_fill()
for i in range(3):
t.fd(50)
t.rt(120)
t.end_fill()
t.up()
t.fd(50)
t.down()
t.begin_fill()
t.fd(50)
t.rt(120)
t.fd(80)
t.rt(120)
t.fd(80)
t.end_fill()
t.up()
t.rt(120)
t.fd(80)
t.down()
t.begin_fill()
t.fd(55)
t.rt(120)
t.fd(60)
t.rt(120)
t.fd(60)
t.end_fill()
t.up()
t.rt(5)
t.fd(200)
t.rt(115)
t.down()
t.pensize(0)
t.pencolor('red')
t.fillcolor("red")
t.begin_fill()
for i in range(2):
t.fd(135)
t.rt(90)
t.fd(90)
t.rt(90)
t.end_fill()
t.fillcolor('yellow')
t.up()
t.fd(5)
t.rt(90)
t.fd(20)
t.lt(90)
t.down()
star(10)
t.up()
t.fd(25)
t.lt(120)
t.fd(15)
t.rt(100)
t.down()
star(6)
t.up()
t.rt(65)
t.fd(17)
t.lt(75)
t.down()
star(6)
t.up()
t.rt(110)
t.fd(12)
t.lt(75)
t.down()
star(6)
t.up()
t.rt(130)
t.fd(8)
t.lt(75)
t.down()
star(6)
# 太阳
def sun():
t.fillcolor('dark orange')
t.begin_fill()
t.circle(200)
t.end_fill()
def delay(n):
n = n
while n >= 0:
n -= 0.1
# 主程序
an = True
print("我们正坐在火箭上,即将去宏伟的太空遨游一番,你准备好了吗?")
print(
)
while an:
an_1 = input("回答ok或no,开启我们的外空之旅:")
if an_1 == "no":
print("那再等等<(^-^)>")
delay(2000000)
an = True
elif an_1 == "ok":
an = False
print("做好准备哟(^U^)ノ")
else:
an = True
print("没听懂呢(╬▔皿▔)╯")
delay(2000000)
print("3")
delay(2000000)
print("2")
delay(2000000)
print("1")
delay(2000000)
print("let's go!")
delay(2000000)
import turtle as t
t.tracer(False)
t.up()
t.rt(150)
t.fd(550)
t.lt(185)
t.down()
t.tracer(True)
go()
delay(1500000)
t.clearscreen()
t.bgcolor("black")
t.pencolor("white")
t.write("即将到达太空!", False, "center",font=('simsun.ttc', 50))
delay(6000000)
t.clearscreen()
t.setup(1220, 620, 0, 0)
t.bgpic("太空背景图.gif")
t.speed(0)
t.up()
t.home()
t.rt(90)
t.fd(100)
t.rt(90)
t.fd(400)
t.down()
earth()
t.up()
t.fd(300)
t.rt(90)
t.fd(200)
t.lt(90)
t.fd(100)
t.down()
moon()
t.up()
t.rt(100)
t.fd(230)
t.lt(90)
t.fd(100)
t.lt(75)
t.lt(90)
t.down()
roket()
t.up()
t.lt(65)
t.fd(450)
t.down()
sun()
t.up()
t.rt(120)
t.fd(150)
t.down()
t.pencolor("red")
t.write("中国航天", font=('simsun.ttc', 50))
t.pencolor("black")
t.fillcolor("black")
# UFO
delay(6000000)
t.up()
t.speed(3)
t.register_shape("飞碟.gif")
t.shape("飞碟.gif")
t.rt(65)
t.fd(500)
t.rt(90)
t.circle(80)
# 弹窗
import tkinter
import tkinter.messagebox
tkinter.messagebox.showwarning('警告', '有飞碟出现!!')
hello = tkinter.messagebox.askyesno('提示', '是否要和外星人打个招呼?')
if hello:
tkinter.messagebox.showinfo('提示', '外星人很高兴,给我们留下了宝贵的资料')
t.fd(500)
delay(3000000)
tkinter.messagebox.showinfo('提示', '此次太空之旅已经接近尾声,即将返回地球')
delay(3000000)
t.clearscreen()
t.speed(0)
t.tracer(False)
t.up()
t.lt(45)
t.fd(400)
t.rt(180)
t.down()
t.tracer(True)
go()
delay(2000000)
t.clearscreen()
t.bgcolor("light blue")
t.write("此次太空之旅很成功!", False, "center", font=('simsun.ttc', 50))
else:
tkinter.messagebox.showwarning('提示', '外星人认为我们很不礼貌,开始了攻击!!!')
t.tracer(False)
t.clearscreen()
t.tracer(True)
t.bgcolor("blue")
tkinter.messagebox.showerror('错误', '火箭出故障了')
t.bgcolor("black")
delay(2000000)
t.bgcolor("light blue")
tkinter.messagebox.showinfo('提示', '在营救队的帮助下,我们现在已经返回了地球')
t.write("虽然此次太空之旅遭到了外星人的袭击", False, "center", font=('simsun.ttc', 50))
delay(6000000)
t.undo()
t.write("但依旧很成功!", False, "center", font=('simsun.ttc', 50))
t.undo()
delay(6000000)
t.write("希望下次还能一起去太空探险!", False, "center", font=('simsun.ttc', 50))
t.done()
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn