python制作超炫流星雨表白,python好看的流星雨代码

本文介绍了如何使用Python的turtle库创建一个超炫的流星雨效果,并简要提及了与之相关的自动化运维系统。同时,文章还提到了《AUTOSAR谱系分解(ETAS工具链)》的目录概览,展示了两个主题在IT技术领域的交叉点。
摘要由CSDN通过智能技术生成

这篇文章主要介绍了python制作超炫流星雨表白,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

Python之流星雨代码实现


下面是一个简单的使用 Python 的 流星雨。这个示例只是一个简单的版本,没有很多高级功能,但它可以作为一个起点,你可以在此基础上添加更多功能 python自动化运维系统

import turtle as tu
import random as ra

import math

tu.setup(1.0, 1.0)
tu.screensize(1.0, 1.0)    #设置画布大小
tu.bgcolor('black')        #设置画布颜色
t = tu.Pen()
t.ht()                     #隐藏画笔
colors = ['skyblue','white','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(0,500)        #流星的纵坐标
        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 = 500
            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):    #80个流星
        Stars[i].move()
        Stars[i].star()
    tu.update()

tu.mainloop()

《AUTOSAR谱系分解(ETAS工具链)》之总目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值