用python写一个烟花秀的代码
时间: 2023-02-18 19:13:50 浏览: 48
非常好,下面是用 Python 写的烟花秀的代码。首先,你需要安装 Pygame 库来绘制图像和动画。你可以在命令行中使用 `pip install pygame` 来安装 Pygame。
```python
import random
import math
import pygame
# 定义窗口的宽度和高度
WIDTH, HEIGHT = 800, 600
# 初始化 Pygame
pygame.init()
# 创建一个窗口,设置窗口的宽度和高度
screen = pygame.display.set_mode((WIDTH, HEIGHT))
# 定义烟花类
class Firework:
def __init__(self, x, y):
self.x = x
self.y = y
self.color = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))
self.thickness = random.randint(1, 5)
self.speed = random.uniform(-8, 8)
self.angle = math.radians(random.uniform(0, 360))
self.gravity = 0.1
def update(self):
self.x += math.sin(self.angle) * self.speed
self.y -= math.cos(self.angle) * self.speed
self.speed -= self.gravity
def draw(self):
pygame.draw.circle(screen, self.color, (int(self.x), int(self.y)), self.thickness)
# 主循环
while True:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
if event.type == pygame.MOUSEBUTTONDOWN:
# 在鼠标点击的位置创建一个烟花
x, y = pygame.mouse.get_pos()
firework = Firework(x, y)
fireworks.append(firework)
# 更新所有烟花的位置
for firework in fireworks:
firework.update()
if firework.y > HEIGHT:
fireworks.remove(firework)
# 绘制烟花
screen.fill((0, 0, 0))
for firework in fireworks:
firework.draw()
pygame.display.flip()
```
这段代码中,我们使用 Py
阅读全文