猫史档案馆


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

用户:鸽_MZJ鸽_MZJ查看:0 回复:1 评论:0 创建时间:2021-05-08T21:06:35


【作品展示】

center_image

 

【作品介绍】

这个作品的左上角有一个星球,按“Q”可以更换星环颜色,鼠标左键可以画星星,鼠标右键可以画点,画好后就可以慢慢观赏啦!

 

【作品源代码】

import turtle
import random

p = turtle.Pen()
p.hideturtle()
p.speed(0)
m = turtle.Screen()
m.bgcolor("midnightblue")


#画笔移动


def moveto(x, y):
    p.penup()
    p.goto(x, y)
    p.pendown()


moveto(-200, 200)

#定义画星星的函数


def star(size, color):
    p.pencolor(color)
    p.begin_fill()
    p.fillcolor(color)
    for i in range(5):
        p.forward(size)
        p.left(72)
        p.forward(size)
        p.right(144)
    p.end_fill()


def random_star():
    sizes = [4, 6, 8]
    size = random.choice(sizes)
    colors = ['yellow', 'gold', 'orange', 'violet',
              'red', 'skyblue', 'green3', 'lightblue']
    color = random.choice(colors)
    return size, color


co = ['yellow', 'gold', 'orange', 'violet',
          'red', 'skyblue', 'green3', 'lightblue']

def draw_star(x, y):
    p.pensize(1)
    size, color = random_star()

    moveto(x, y)
    star(size, color)


def draw_dot(x, y):
    p.pensize(1)
    size, color = random_star()
    moveto(x, y)
    p.dot(size, color)
def d():
    size, color = random_star()
    star(size, color)
def dr():
    size, color = random_star()
    p.dot(size, color)
def r(a):
    p.setheading(200)
    p.forward(a)
def v (x,y):
    p.goto(x,y)
    p.pendown()
    p.pensize(5)
    p.begin_fill()
    p.fillcolor('skyblue')
    p.pencolor('black')
    p.circle(40)
    p.end_fill()
    p.left(90)
    p.penup()
    p.forward(40)
    p.pendown()
    p.right(90)
    p.pensize(20)
    p.pencolor('gold')
    p.forward(50)
    p.backward(100)
    p.penup()



def n():
    p.penup()
    p.goto(-200/2, 500/2)
    p.backward(50)
    p.pendown()
    p.left(90)
    p.penup()
    p.forward(40)
    p.pendown()
    p.right(90)
    p.pendown()
    p.pensize(20)
    o=random.choice(co)
    p.pencolor(o)
    p.forward(100)
    p.backward(100)
    p.penup()
#随机星星
g = 700
c = 700
m.setup(c,g)

for i in range(20):
    g1=random.randint(-g/2,g/2)
    c1=random.randint(-c/2,c/2)
    p.penup()
    p.goto(c1,g1)
    p.pendown()
    d()
for i in range(20):
    g1 = random.randint(-g/2, g/2)
    c1 = random.randint(-c/2, c/2)
    p.penup()
    p.goto(c1, g1)
    p.pendown()
    dr()
p.penup()
v(-200/2,500/2)

#鼠标绘画
m.onclick(draw_star, btn=1)
m.onclick(draw_dot, btn=3)
turtle.listen()
turtle.onkey(n,'q')
turtle.done()

 

【提示】

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

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
疯掉的星能猫7s5g疯掉的星能猫7s5g

emotion_编程猫_加油emotion_编程猫_加油emotion_编程猫_加油

点赞0


评论