用户:
mornwind查看:0 回复:1 评论:0 创建时间:2021-04-28T20:03:00
【作品展示】

【作品介绍】
首先绘制月亮和 50 个星星,位于随机位置,在绘制一个火箭,从右下角飞到左上角,然后清屏。让火箭从屏幕飞过,消失后出现三行字
【作品源代码】
import turtle
import random
import time
t = turtle.Pen()
t.hideturtle()
t.speed(0)
s = turtle.Screen()
s.bgcolor("midnightblue")
s.tracer(0)
# 画笔移动
def moveto(x, y):
t.penup()
t.goto(x, y)
t.pendown()
# 画月亮
t.penup()
t.goto(-200, 200)
t.pendown()
t.pencolor("lightyellow")
t.dot(100)
t.forward(30)
t.pencolor("midnightblue")
t.dot(100)
# 定义画星星的函数
def star(size, color):
t.pencolor(color)
t.begin_fill()
t.fillcolor(color)
for i in range(5):
t.forward(size)
t.left(72)
t.forward(size)
t.right(144)
t.end_fill()
def dot(size, color):
t.dot(size, color)
def choice():
sizes = [3, 4, 5]
size = random.choice(sizes)
colors = ["orange", "yellow", "gold", "violet"]
color = random.choice(colors)
return size, color
def draw_star(x, y):
size, color = choice()
moveto(x, y)
star(size, color)
def draw_dot(x, y):
size, color = choice()
moveto(x, y)
dot(size, color)
def draw_sky():
for i in range(50):
x, y = random.randint(0, 350), random.randint(0, 350)
if x < 175:
x = -x*2
if y < 175:
y = -y*2
if random.randint(1, 2) == 1:
draw_dot(x, y)
else:
draw_star(x, y)
# 画火箭
turtlea = turtle.Pen()
def draw_(x, y):
turtlea.setheading(0)
turtlea.penup()
turtlea.goto(x, y)
turtlea.pendown()
turtlea.begin_fill()
turtlea.fillcolor('blue')
turtlea.forward(20)
for i in range(40):
turtlea.forward(1)
turtlea.left(2)
turtlea.left(10)
for i in range(5):
turtlea.forward(15)
turtlea.left(2)
turtlea.goto(x, y+172)
turtlea.penup()
turtlea.goto(x, y)
turtlea.pendown()
turtlea.setheading(180)
turtlea.forward(20)
for i in range(40):
turtlea.forward(1)
turtlea.left(-2)
turtlea.left(-10)
for i in range(5):
turtlea.forward(15)
turtlea.left(-2)
turtlea.goto(x, y+172)
turtlea.end_fill()
turtlea.pencolor("yellow")
a = 1
turtlea.setheading(270)
for i in range(40):
turtlea.pensize(a)
turtlea.forward(1)
a += 1
turtlea.pencolor("red")
turtlea.penup()
turtlea.forward(40)
turtlea.dot(35)
turtlea.forward(40)
turtlea.dot(20)
turtlea.forward(25)
turtlea.dot(20)
turtlea.pensize(1)
turtlea.goto(x+40, y)
turtlea.pendown()
turtlea.fillcolor("gold")
turtlea.begin_fill()
turtlea.left(45)
turtlea.forward(30)
turtlea.right(45)
for i in range(180):
turtlea.forward(0.3)
turtlea.right(1)
turtlea.right(180)
for i in range(180):
turtlea.forward(0.5)
turtlea.right(1)
turtlea.right(180)
for i in range(210):
turtlea.forward(0.3)
turtlea.right(1)
turtlea.goto(x-40, y)
turtlea.end_fill()
turtlea.left(1)
draw_sky()
x1, y1 = 200, -150
turtlea.hideturtle()
for i in range(0, 90):
s.tracer(0)
turtlea.clear()
draw_(x1, y1)
x1 -= 3
y1 += 3
s.tracer(1)
time.sleep(0.01)
s.tracer(0)
turtlea.penup()
turtlea.goto(50, -250)
turtlea.pencolor("yellow")
turtlea.write('去\n 太\n 空\n ,\n 趣\n 编\n 程', font = ('Arial', 60, 'normal'))
time.sleep(5)
turtlea.clear()
t.clear()
y=-200
for i in range(200):
s.tracer(0)
turtlea.clear()
draw_(0, y)
y += 4
s.tracer(1)
time.sleep(0.01)
turtlea.penup()
turtlea.goto(-100,-200)
turtlea.write("探索\n宇宙\n新世界", font = ('Arial', 100, 'normal'))
turtle.done()
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn