流星雨源码

Python流星雨源码

原创 Want595 Want595 2023-03-07 20:24 发表于江苏

收录于合集#有趣的合集22个

640?wx_fmt=gif&tp=wxpic&wxfrom=5&wx_lazy=1

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()

0?wx_fmt=jpeg

Want595

s?__biz=Mzg2NTg5Njg3MA==&mid=2247483890&idx=1&sn=a0b0255e9f773d14b03f7c480cd991fc&chksm=ce52513bf925d82dc4be7eea7e5def2ab82fcd9c7269fe3f60a2991396f7f3457821e1c18e7e&xtrack=1&scene=0&subscene=10000&clicktime=1694139829&enterid=1694139829&sessionid=0&ascene=7&fasttmpl_type=0&fasttmpl_fullversion=6846186-zh_CN-zip&fasttmpl_flag=0&realreporttime=1694139829083&devicetype=android-33&version=28002855&nettype=cmnet&abtest_cookie=AAACAA%3D%3D&lang=zh_CN&session_us=gh_c562b9a33ff3&countrycode=CN&exportkey=n_ChQIAhIQtIyEfY2QzE%2B2pQdw1pP3YxLqAQIE97dBBAEAAAAAADtsExzjSPAAAAAOpnltbLcz9gKNyK89dVj05M60PXQ1MKBMoxMEnXx%2FpsBI1NjHKJKPhjtclKxu6D2n6Mv%2BMWbt1%2FAyjGSom%2FA89umNiviTR8pc2tkYOPmt%2BFIvwIG9erStCCeHSnUjwss%2FraeD075UBxNpFfFo8UDjlwV1rUXcD89moRzIJ%2BwBkVeIJ46XBUle8cbYb2sCm8kt1Sd0BpIzxdEO%2FyL0Y06zZtodFbYy2sT1FuphQfbbfDry34KWqLPeSeehqxkoKeZNOJL5hfeXXIMAlO%2BOmYd2wA4HEg%3D%3D&pass_ticket=phs%2FmZ4AXsD%2BKWpYeljvlkTPxF24wkmneRMjtWSNtr6anvOQaEsfUmxoOSGRd%2F6u&wx_header=3喜欢作者

收录于合集 #有趣的合集

 22个

上一篇Python圣诞树源码下一篇Python雪花源码

阅读 626

300?wx_fmt=png&wxfrom=18

Want595

分享收藏在看6

喜欢此内容的人还喜欢

Python爱心光波代码

 

Want595

不喜欢

不看的原因

确定

  • 内容质量低
  • 不看此公众号

0?wx_fmt=jpeg&tp=wxpic

三十行代码教你实现《黑客帝国》炫酷代码雨

 

Want595

不喜欢

不看的原因

确定

  • 内容质量低
  • 不看此公众号

0?wx_fmt=jpeg&tp=wxpic

赠书活动第1期丨数据结构与算法有必要区分嘛?

 

Want595

不喜欢

不看的原因

确定

  • 内容质量低
  • 不看此公众号

0?wx_fmt=jpeg&tp=wxpic

 

 

 

发消息

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值