Python绘画案例1——用Python的turtle模块画动态流星雨,包含源码

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

Python绘画案例1——用Python的turtle模块画动态流星雨,包含源码

写在开始

这个Python专栏大概会出一百多个绘画作品,大家有喜欢的收藏关注一下,谢谢咯~

运行结果展示

在这里插入图片描述
在这里插入图片描述
蓝色流星雨

话不多说,直接上源码

import turtle as tu
import random as ra
import math


def Meteors():
    tu.setup(1.0, 1.0)
    tu.screensize(1, 1)
    tu.bgcolor('black')
    tu.title("流星雨")
    t = tu.Pen()
    t.hideturtle()
    # colors = ['pink', 'lightpink', 'deeppink']
    colors = ['skyblue', 'white', 'blue', 'cyan', 'aqua']

    class Star():
        def __init__(self):
            self.r = ra.randint(50, 100)
            self.t = ra.randint(1, 3)
            self.x = ra.randint(-2000, 1000)
            self.y = ra.randint(444, 999)
            self.speed = ra.randint(5, 10)
            self.color = ra.choice(colors)
            self.outline = 1

        def star(self):
            t.pensize(self.outline)
            t.penup()
            t.goto(self.x, self.y)
            t.pendown()
            t.color(self.color)
            t.begin_fill()
            t.fillcolor(self.color)
            t.setheading(-30)
            t.right(self.t)
            t.forward(self.r)
            t.left(self.t)
            t.circle(self.r*math.sin(math.radians(self.t)),180)
            t.left(self.t)
            t.forward(self.r)
            t.end_fill()

        def move(self):
            if self.y >= -500:
                self.y -= self.speed
                self.x += 2*self.speed
            else:
                self.r = ra.randint(50,100)
                self.t = ra.randint(1,3)
                self.x = ra.randint(-2000,1000)
                self.y = 444
                self.speed = ra.randint(5,10)
                self.color = ra.choice(colors)
                self.outline = 1

    Stars = []
    for i in range(100):
        Stars.append(Star())
    while True:
        tu.tracer(0)
        t.clear()
        for i in range(100):
            Stars[i].move()
            Stars[i].star()
        tu.update()


if __name__ == "__main__":
    Meteors()

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值