用Python写一个在学校的动态绽放烟花的画面的程序
时间: 2023-10-07 22:08:26 浏览: 85
以下是一个简单的Python程序,可以在学校的动态绽放烟花的画面:
```python
import turtle
import random
# 设置画布大小和背景颜色
screen = turtle.Screen()
screen.setup(800, 600)
screen.bgcolor('black')
# 创建烟花粒子类
class Particle(turtle.Turtle):
def __init__(self, x, y, color):
super().__init__(shape='circle')
self.penup()
self.color(color)
self.goto(x, y)
self.shapesize(0.5)
self.speed('fastest')
self.vx = random.randint(-10, 10)
self.vy = random.randint(10, 30)
self.life = 40
def move(self):
self.goto(self.xcor() + self.vx, self.ycor() + self.vy)
self.vy -= 2
self.life -= 1
if self.life <= 0:
self.clear()
# 创建烟花类
class Firework():
def __init__(self, x, y):
self.particles = []
self.color = random.choice(['red', 'orange', 'yellow', 'green', 'blue', 'purple'])
for _ in range(50):
self.particles.append(Particle(x, y, self.color))
def move(self):
for p in self.particles:
p.move()
# 创建烟花的生成函数
def create_firework(x, y):
f = Firework(x, y)
fireworks.append(f)
# 初始化烟花列表
fireworks = []
# 注册鼠标点击事件
screen.onclick(create_firework)
# 循环更新烟花的状态
while True:
for f in fireworks:
f.move()
fireworks = [f for f in fireworks if len(f.particles) > 0]
turtle.update()
```
当你运行这个程序时,你将能够在画布上点击任意位置,从而生成动态绽放的烟花效果。
阅读全文