Python雪花代码

再度Miren
2023-03-06 / 0 评论 / 16 阅读 / 正在检测是否收录...


前言?

用python画个雪花玩玩,源码在文末公众号哈。

雪花类?

class Snow(): ? ?#雪花类
? ? def __init__(self):
? ? ? ? self.r = 6 ? ? ? ? ? ? ? ? ? ? ? #雪花的半径
? ? ? ? self.x = ra.randint(-1000,1000) ? #雪花的横坐标
? ? ? ? self.y = ra.randint(-500,500) ? ? #雪花的纵坐标
? ? ? ? self.f = ra.uniform(-3.14,3.14) ? #雪花左右移动呈正弦函数
? ? ? ? self.speed = ra.randint(5,10) ? ? #雪花移动速度
? ? ? ? self.color = ra.choice(colors) ? ?#雪花的颜色
? ? ? ? self.outline = 5 ? ? ? ? ? ? ? ? #雪花的大小?

画雪花?

? ? def snow(self): ? ? ? ? ? ? ? ?#画每个雪花
? ? ? ? x=self.r ? ? ? ? ? ? ? ? ? #雪花的半径
? ? ? ? t.pensize(self.outline) ? ?#雪花的大小
? ? ? ? t.penup() ? ? ? ? ? ? ? ? ?#提笔
? ? ? ? t.goto(self.x,self.y) ? ? ?#随机位置
? ? ? ? t.pendown() ? ? ? ? ? ? ? ?#落笔
? ? ? ? t.color(self.color) ? ? ? ?#雪花颜色
? ? ? ? for i in range(6): ? ? ? ?#循环画六个雪花瓣
? ? ? ? ? ? t.forward(x*5)
? ? ? ? ? ? t.backward(x*2)
? ? ? ? ? ? t.left(60)
? ? ? ? ? ? t.forward(x*2)
? ? ? ? ? ? t.backward(x*2)
? ? ? ? ? ? t.right(120)
? ? ? ? ? ? t.forward(x*2)
? ? ? ? ? ? t.backward(x*2)
? ? ? ? ? ? t.left(60)
? ? ? ? ? ? t.backward(x*3)
? ? ? ? ? ? t.right(60) ? ??

移动函数?

? ? def move(self): ? ? ? ? ? ? ? ? ? ?#雪花移动函数
? ? ? ? if self.y >= -500: ? ? ? ? ? ?#当雪花还在画布中时
? ? ? ? ? ? self.y -= self.speed ? ? #设置上下移动速度
? ? ? ? ? ? self.x -= self.speed * math.sin(self.f) ? ?#设置左右移动速度
? ? ? ? ? ? self.f -= 0.1 ? ? ? ? ? ?#可以理解成标志,改变左右移动的方向
? ? ? ? else: ? ? ? ? ? ? ? ? ? ? ? ?#当雪花漂出了画布时,重新生成一个雪花
? ? ? ? ? ? self.r = 6 ? ? ? ?
? ? ? ? ? ? self.x = ra.randint(-1000,1000)
? ? ? ? ? ? self.y = 500
? ? ? ? ? ? self.f = ra.uniform(-3.14,3.14)
? ? ? ? ? ? self.speed = ra.randint(5,10)
? ? ? ? ? ? self.color = ra.choice(colors)
? ? ? ? ? ? self.outline = 5??

0

评论 (0)

取消