猫史档案馆


【Python作品分享】【去太空,趣编程】绚丽太空

用户:伴雪纷飞伴雪纷飞查看:0 回复:1 评论:0 创建时间:2021-05-05T21:14:40


【作品展示】

center_image

 

【作品介绍】

请用海龟的客户端运行,否则部分颜色无法显示

 

【作品源代码】

import turtle as t
from turtle import *
from random import randint, random, choice
size = (int(800), int(600))
_pensize=(8)
pensize(_pensize)
# size_y_add = [i*_pensize for i in range(int(size[1]/2/_pensize))]
# size_y_minus = [int(('-'+str(i)).replace('\U00002013', '-')) for i in size_y_add]
screensize(size[0], size[1])
tracer(36, 0)
'''
def bg_line():
    p=Turtle()
    tlist=[p]
    #p.right(90)
    p.pencolor('red')
    p.pensize(_pensize)
    for i in range(36):
        c = abs(36/2.0-i)/(36*.7)

        for t in tlist:

            t.pencolor(1-c, 0, c)
            t.fd(19)


def bg_line():

    #p.right(90)
    pencolor('red')
    pensize(_pensize)
    for i in range(36):
        c = abs(36/2.0-i)/(36*.7)
        pencolor(1-c, 0, c)
        fd(19)
'''

def bg():
    # a=0
    # for i in range(1,int(size[0]/5)+1):
    #     goto(size[0]/2/i,size[1])
    #     bg_line()
    up() 
    goto(-300, 280)
    down()
    #dot(1000)
    # for i in size_y_add:
    #     penup()
    #     sety(size)
    #     pendown()
    #     bg_line()
    # for i in size_y_minus:
    #     penup()
    #     goto(size[0]/2,i)
    #     pendown()
    #     bg_line()
    for i in range(int(size[1]/_pensize)):
        #down()
        for i in range(36):
            c = abs(36/2.0-i)/(36*.7)
            color(1-c, 0, c)
            print(c)
            fd(20)
        up()
        bk(20*36)
        rt(90)
        fd(_pensize)
        lt(90)
        bk(randint(-2,5))
        down()
def star(size):
    for i in range(5):
        left(144)
        forward(size)
        right(72)
        forward(size)
# def star_bg():
#     def go():
#         if randint(0,1):
#             goto(int(randint(0, int(size[1]/2))), int(randint(0, int(size[2]/2))))
#         else:
#             x=randint(0,size[1]/2)
#             x=-x
#             y=randint(0,int(size[2]/2))
#             y=-y
#             goto(x,y)
#     colors = ["red", "yellow", "purple", "pink", "green"]
#     for i in range(100):
#         color = choice(colors)
#         pensize(10)
#         pencolor(color)
#         penup()
#         go()
#         pendown()
#         star(ranint(1,5))
randcolor = ["red", "orange", "yellow", "light sky blue", "white"]
def star_bg():
    global color

    #画出星空
    

    for i in range(100):
        pu()
        goto(randint(-350, 350), randint(-300, 300))
        pd()
        dot(randint(1, 10),choice(randcolor))


def rocket():
    pu()
    goto(0,0)
    pd()
    speed(0)
    begin_fill()
    color('gray')
    rt(45)
    fd(60)
    lt(135)
    fd(60)
    lt(45)
    fd(60)
    lt(135)
    fd(60)
    end_fill()
    pu()
    rt(90)
    fd(60)
    lt(90)
    pd()
    begin_fill()
    rt(45)
    fd(60)
    rt(135)
    fd(60)
    rt(45)
    fd(60)
    rt(135)
    fd(60)
    end_fill()
    pu()
    rt(90)
    bk(30)
    rt(180)
    pd()
    begin_fill()
    color('red')
    a = 1
    for i in range(120):
        if 0 <= i < 30 or 60 <= i < 90:
            a = a+0.2
            lt(3)  
            fd(a)  
        else:
            a = a-0.2
            lt(3)
            fd(a)
    pu()
    rt(90)
    fd(-120)
    dot(60,'gray')
    dot(50,'white')
    pd()
    end_fill()
    ht()


def planet():
    global color
    for i in range(randint(3,5)):
        pu()
        goto(randint(-350, 350), randint(-300, 300))
        pd()
        csize=randint(50,80)
        dot(csize, choice(randcolor))
        pu()
        rt(90)
        fd(8)
        pd()
        dot(csize-20, choice(randcolor))


def main():
    bg()
    star_bg()
    planet()
    rocket()

if __name__ == '__main__':  # 入口
    #bg_line()
    main()
    done()

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
无题_无题_

目前背景颜色最优,但是火箭颜色和背景重合较多,可以调整一下火箭的颜色效果,棒!

点赞0


评论