猫史档案馆


【Python作品分享】【去太空,趣编程】宇宙绘图

用户:LYDPLYDP查看:0 回复:0 评论:0 创建时间:2021-05-09T22:08:14


【作品展示】

center_image

 

【作品介绍】

展示图选了一张效果比较好的,如果实运行效果与图片不符,请谅解

这个作品主要就是观赏,看看就好

 

【作品源代码】

import turtle as t
import random
t.speed(0)
t.ht()
myscreen = t.Screen()
WIDTH = 1000
HEIGHT = 600


def draw_planet(radius, x, y, planet_color):
    t.pencolor(planet_color)
    t.fillcolor(planet_color)
    t.pu()
    real_y = y - radius/2
    t.goto(x, real_y)
    t.pd()
    t.begin_fill()
    t.circle(radius)
    t.end_fill()


def draw_moon(moon_x, moon_y, moon_size, moon_color):
    t.penup()
    t.goto(moon_x, moon_y)
    t.pendown()
    t.dot(moon_size, moon_color)
    t.setheading(180)
    t.penup()
    t.forward(moon_size // 2)
    t.pendown()
    t.dot(moon_size, "navy")


def screen_size(width, height, title):
    myscreen.setup(width, height)
    myscreen.title(title)


def draw_stars(length, x, y, color):
    t.pu()
    t.goto(x, y)
    t.pd()
    t.pencolor(color)
    t.begin_fill()
    t.fillcolor(color)
    for i in range(5):
        for i in range(5):
            t.fd(length)
        t.right(144)
    t.end_fill()


def draw_satellite(satellite_x, satellite_y, satellite_under_width, satellite_under_height, satellite_on_width, satellite_on_height, satellite_under_color, satellite_on_color):
    t.penup()
    t.goto(satellite_x, satellite_y)
    t.down()
    t.setheading(-20)
    t.fillcolor(satellite_under_color)
    t.begin_fill()
    for j in range(2):
        t.forward(satellite_under_width)
        t.right(90)
        t.forward(satellite_under_height)
        t.right(90)
    t.end_fill()
    t.penup()
    t.forward(satellite_under_width)
    t.right(90)
    t.forward(satellite_under_height // 2 + 30)
    t.right(90)
    t.backward(75)
    t.pendown()
    t.fillcolor(satellite_on_color)
    t.begin_fill()
    for i in range(2):
        t.forward(satellite_on_width)
        t.right(90)
        t.forward(satellite_on_height)
        t.right(90)
    t.end_fill()
    t.setheading(-20)
    t.backward(150)
    t.pencolor("red")
    t.write("CHINA 中国", font=("文泉驿正黑", 15))


def dimond_flower_planet(px, py, length, angle, penc, fillc):
    t.pencolor(penc)
    t.pu()
    t.goto(px, py)
    t.pd()
    t.fillcolor(fillc)
    t.begin_fill()
    for i in range(12):
        for i in range(6):
            t.forward(length)
            t.left(angle)
        t.left(30)
    t.end_fill()


def planet_unknow_name(length, angle, n):
    t.pensize(5)
    for i in range(n):
        t.pencolor("thistle")
        t.forward(i*5)
        t.left(angle)
        t.pencolor("salmon")
        t.forward(i*5)
        t.left(angle)


def draw_rectangle(x, y, chang, kuan, pcolor, fcolor):
    t.pu()
    t.goto(x, y)
    t.pd()
    t.pencolor(pcolor)
    t.fillcolor(fcolor)
    t.begin_fill()
    t.fd(kuan)
    t.rt(90)
    t.fd(chang)


screen_size(WIDTH, HEIGHT, "Universe")
myscreen.bgcolor("navy")

color_list = ["red", "yellow", "orange", "green", "pink"]
for i in range(10 // len(color_list)):
    for i in range(len(color_list)):
        star_x = random.randint(-500, 500)
        star_y = random.randint(-300, 300)
        star_length = random.randint(5, 8)
        color_num = random.randint(0, len(color_list) - 1)
        draw_stars(star_length, star_x, star_y, color_list[color_num])

draw_planet(100, 150, 100, "skyblue")
t.pencolor("green")
t.pu()
t.goto(100, 150)
t.pd()
t.write("EARTH", font=("文泉驿正黑", 30))
draw_planet(400, -550, -500, "orange")
draw_planet(300, -500, -400, "yellow")
dimond_flower_planet(300, -150, 30, 60, "sienna", "violet")
t.pencolor("red")
SATELLITE_X = WIDTH - 1000
SATELLITE_Y = HEIGHT - 600
SATELLITE_UNDER_WIDTH = 200
SATELLITE_UNDER_HEIGHT = 60
SATELLITE_ON_HEIGHT = 150
SATELLITE_ON_WIDTH = 60
SATELLITE_ON_COLOR = "powderblue"
SATELLITE_UNDER_COLOR = "gray"
MOON_X = 350
MOON_Y = 150
MOON_SIZE = 60
MOON_COLOR = "yellow"
draw_satellite(SATELLITE_X, SATELLITE_Y, SATELLITE_ON_WIDTH, SATELLITE_ON_HEIGHT,
               SATELLITE_UNDER_WIDTH, SATELLITE_UNDER_HEIGHT, SATELLITE_ON_COLOR, SATELLITE_UNDER_COLOR)
draw_moon(MOON_X, MOON_Y, MOON_SIZE, MOON_COLOR)
t.pu()
t.goto(-250, 200)
t.rt(45)
t.pd()
planet_unknow_name(50, 60, 20)

t.done()

 

【提示】

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

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页