猫史档案馆


【Python作品分享】【去太空,趣编程】长征一号【作品秀】

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


【作品展示】

center_image

 

【作品介绍】

爆肝代码,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


回复

上一页1 页 / 共 0下一页