用户:
......6666....无法显示查看:0 回复:0 评论:0 创建时间:2021-05-05T12:21:30
【作品展示】

【作品介绍】
爆肝代码,300多行!!!终
于
完
成
了
!
【作品源代码】
import turtle as t
from time import sleep
from random import randint
def drawrect(colour,x, y, L, W,full):
t.pencolor(colour)
t.penup()
t.goto(x, y)
t.pendown()
if full == "on":
t.begin_fill()
for i in range(0, 2):
t.forward(L)
t.left(90)
t.forward(W)
t.left(90)
t.penup()
t.end_fill()
def star(colour,x,y,LONG,full):
t.pencolor(colour)
t.penup()
t.goto(x, y)
t.pendown()
if full == "on":
t.begin_fill()
for _ in range(5):
t.forward(LONG)
t.right(144)
t.penup()
t.end_fill()
def write(x,y,word,size):
t.penup()
t.goto(x, y)
t.pendown()
t.write(word, False, 'center', font=('arial', size))
t.penup()
def dot(colour,x,y,r):
t.pencolor(colour)
t.penup()
t.goto(x, y)
t.pendown()
t.dot(r)
t.penup()
def rocket():
t.fillcolor("white")
t.setheading(0)
t.pensize(5)
drawrect("black", 0,-300, 100,400, "on")
t.goto(0, 100)
t.setheading(45)
t.fillcolor("black")
t.begin_fill()
t.pendown()
t.forward(45)
t.right(45)
t.forward(40)
t.right(45)
t.forward(45)
t.end_fill()
t.fillcolor("white")
t.setheading(0)
drawrect("black", 30, 130, 40, 100, "on")
t.goto(30, 230)
t.setheading(45)
t.begin_fill()
t.pendown()
t.forward(30)
t.right(90)
t.forward(30)
t.end_fill()
t.setheading(0)
t.fillcolor("red")
drawrect("black", 35, 180, 30, 20, "on")
t.pensize(1)
t.fillcolor("yellow")
star("yellow", 40, 195, 6, "on")
star("yellow", 50, 197, 2, "on")
star("yellow", 52, 194, 2, "on")
star("yellow", 52, 190, 2, "on")
star("yellow", 50, 187, 2, "on")
t.speed(10)
t.penup()
t.screensize(800, 600, "black")
t.hideturtle()
t.pencolor("white")
t.goto(0, -50)
t.pendown()
for a in range(5, 0, -1):
write(0,-50,a,100)
sleep(1)
t.clear()
t.pensize(20)
t.bgcolor("skyblue")
drawrect("gray",-200, -400, 100,690,"off")
t.goto(-200,-400)
t.setheading(45)
t.pendown()
for i in range(0,4):
t.forward(120)
t.left(90)
t.forward(120)
t.right(90)
rocket()
t.pencolor("black")
write(-225,350,"长征一号",30)
sleep(1)
write(0, 350, "在 1 9 7 0 年 4 月 2 4 日 2 1 点 3 5 分 4 4 秒", 10)
sleep(1)
write(250, 350, "成功发射!",30)
sleep(3)
t.tracer(False)
t.pensize(5)
t.fillcolor("skyblue")
t.pencolor("orange")
t.setheading(-60)
t.penup()
t.goto(100,-310)
t.pendown()
t.forward(50)
t.setheading(-75)
t.penup()
t.goto(75, -310)
t.pendown()
t.forward(50)
t.setheading(-90)
t.penup()
t.goto(50, -310)
t.pendown()
t.forward(50)
t.setheading(-105)
t.penup()
t.goto(25, -310)
t.pendown()
t.forward(50)
t.setheading(-120)
t.penup()
t.goto(0, -310)
t.pendown()
t.forward(50)
t.update()
sleep(5)
t.pensize(20)
t.setheading(0)
t.fillcolor("slategray")
drawrect("slategray", -500, 350,1000, 100, "on")
drawrect("slategray", -200, -400, 100, 700, "on")
t.update()
t.pensize(1)
t.bgcolor("slategray")
for i in range(0, 30):
star("yellow",randint(-300,300),randint(-300,300),randint(2,10),"on")
dot("yellow",-300,-300,200)
dot("gold",-300,-300,150)
dot("red3",-300,-300,100)
dot("gray",300,-300,50)
dot("orange",230,0,100)
t.goto(-300,300)
t.setheading(-45)
t.pendown()
t.penup()
t.goto(300,400)
t.pendown()
t.setheading(-45)
for i in range(1,10,):
t.pensize(i)
t.forward(10)
rocket()
t.update()
t.tracer(False)
sleep(5)
t.fillcolor("black")
drawrect("black",-400,100,800,200,"on")
t.pencolor("white")
write(0, 250, "长征一号(代号:CZ-1)是20世纪70年代初期中国研制的一型三级运载火箭,为发射喵颗人造地球卫星东方红而立项研制。", 10)
sleep(5)
write(0,230,"长征一号由结构系统、推进系统、制导和控制系统、跟踪遥测系统、自毁系统和电源配电系统等部分组成。",10)
sleep(5)
write(0, 210, "长征一号总体布局分为三级,采取串联布局,从箭尾至箭顶依次为一子级、二子级和整流罩(内含三子级)。", 10)
sleep(5)
write(0, 190, "一子级为圆柱壳,从上至下分别为级间段、杆系、氧化剂贮箱、箱间段、燃料贮箱和尾段。", 10)
sleep(5)
write(0, 170, "二子级为“锥-柱”壳,上部是锥形仪器舱,舱内安装有一、二级动力段和滑行段控制、测量及安全自毁设备。", 10)
sleep(5)
write(0, 150, "三子级主体为固体火箭发动机。其上部是仪器架,架中央的喵用来固定、支持有效载荷(卫星)。", 10)
sleep(5)
write(0, 130, "长征一号全长29.86米, 翼展3.810米, 起飞质量81570千克, 起飞推力1020千牛, 起飞推重比1.275,运载能力300千克", 10)
sleep(5)
write(0, 110, "在1970年4月24日21点35分44秒发射。", 10)
sleep(5)
question = ["长征一号代号是什么?","长征一号是什么种类的火箭?","长征一号是用来发射什么卫星而研制的?","长征一号总体布局分为几级?","长征一号全长多少米?","长征一号三子级是什么?"]
answerA = ["CHANGZHENG-1", "运载火箭", "斯普特尼克一号","一级","86.29米","固体火箭发动机"]
answerB = ["changzheng-1", "火箭武器","东方红一号","二级","3.810米","液体火箭发动机"]
answerC = ["CZ-1", "导弹","北斗一号","三级","28,86米","行星发动机"]
answerD = ["ch-1", "我不知道","月球","四级","29.86米","V行发动机"]
answer = ["C","A","B","C","D","A"]
myanswer = []
result = []
right = 0
def rocket2():
t.pensize(5)
t.pencolor("black")
t.fillcolor("red")
t.penup()
t.setheading(0)
t.goto(-50,-100)
t.pendown()
t.begin_fill()
for i in range(0,3):
t.forward(100)
t.left(120)
t.end_fill()
t.fillcolor("white")
drawrect("black",-50,-300,100,200,"on")
t.goto(-50,-250)
t.setheading(-135)
t.pendown()
t.begin_fill()
t.forward(40)
t.setheading(-90)
t.forward(100)
t.setheading(-135)
t.backward(40)
t.setheading(90)
t.forward(70)
t.end_fill()
t.penup()
t.goto(50,-250)
t.setheading(-45)
t.pendown()
t.begin_fill()
t.forward(40)
t.setheading(-90)
t.forward(100)
t.setheading(-45)
t.backward(40)
t.setheading(90)
t.forward(70)
t.end_fill()
t.fillcolor("yellow")
t.penup()
t.goto(-50,-300)
t.setheading(-60)
t.begin_fill()
t.pendown()
t.forward(100)
t.left(120)
t.forward(100)
t.end_fill()
dot("blue",0,-200,70)
def drawcircle():
for j in range(0,i):
if result[j] == "right":
dot("green",j*20,300,20)
else:
dot("red",j*20,300,20)
t.clear()
rocket2()
t.pencolor("white")
write(0,200,"飞船在小行星带遇到了危险,帮它选择正确道路吧!",30)
sleep(3)
for i in range(0,len(answer)):
t.clear()
t.tracer(False)
rocket2()
drawcircle()
t.pencolor("white")
write(0,200,question[i],30)
write(0,150,"A."+answerA[i],20)
write(0,100,"B."+answerB[i],20)
write(0,50,"C."+answerC[i],20)
write(0,0,"D."+answerD[i],20)
t.tracer(True)
myanswer.append(t.textinput("请输入答案:", "注意:要大写"))
if myanswer[i] == answer[i]:
result.append("right")
right+=1
t.setheading(0)
t.tracer(False)
for y in range(400, -400, -1):
t.clear()
rocket2()
t.penup()
t.goto(200, y)
t.pendown()
t.pencolor("black")
t.fillcolor("gray")
t.begin_fill()
for j in range(0, 8):
t.forward(30)
t.left(50)
t.end_fill()
t.update()
else:
result.append("wrong")
t.setheading(0)
t.tracer(False)
for y in range(400,0, -1):
t.clear()
rocket2()
t.penup()
t.goto(0, y)
t.pendown()
t.pencolor("black")
t.fillcolor("gray")
t.begin_fill()
for j in range(0, 8):
t.forward(30)
t.left(50)
t.end_fill()
t.update()
t.clear()
write(0,0,"boom!!!",20)
t.update()
sleep(3)
print(result)
t.clear()
t.tracer(False)
for j in range(0,i+1):
if result[j] == "right":
dot("green",j*20,300,20)
else:
dot("red",j*20,300,20)
rocket2()
t.update()
sleep(2)
while True:
for i in range(20,50):
t.clear()
rocket2()
t.pencolor("black")
write(0,0,"恭喜你,对了"+str(right)+"道题",i)
t.update()
for i in range(50,20,-1):
t.clear()
rocket2()
t.pencolor("black")
write(0,0,"恭喜你,对了"+str(right)+"道题",i)
t.update()
t.tracer(True)
t.done()
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn