下面是一个简单的Python新年烟花代码示例,使用了pygame
库来创建一个可以在新年晚上点燃的烟花秀:
首先,确保安装了pygame
库:
pip install pygame
然后,是烟花代码的实现:
import pygame
import random
# 初始化pygame
pygame.init()
# 设置屏幕大小和标题
screen_width = 800
screen_height = 600
screen = pygame.display.set_mode((screen_width, screen_height))
pygame.display.set_caption('New Year Fireworks')
# 定义烟花的颜色、大小和速度
firework_colors = ['red', 'green', 'blue', 'yellow', 'pink', 'orange']
firework_sizes = [1, 3, 5, 7, 9]
firework_speed = 5
# 定义烟花的类
class Firework:
def __init__(self, x, y):
self.x = x
self.y = y
self.color_index = random.randint(0, len(firework_colors) - 1)
self.color = firework_colors[self.color_index]
self.size = random.choice(firework_sizes)
self.exploded = False
def explode(self):
self.exploded = True
return [FireworkParticle(self.x, self.y, self.color, self.size) for _ in range(self.size)]
def update(self):
if self.exploded:
return
elif self.y < -10:
self.explode()
def draw(self, screen):
if self.exploded:
return
pygame.draw.circle(screen, self.color, (int(self.x), int(self.y)), 5)
# 定义烟花粒子的类
class FireworkParticle:
def __init__(self, x, y, color, size):
self.x = x
self.y = y
self.color = color
self.size = size
self.vy = random.randint(1, 20)
def update(self):
self.y -= self.vy
def draw(self, screen):
pygame.draw.circle(screen, self.color, (int(self.x), int(self.y)), self.size)
# 创建烟花列表
fireworks = [Firework(screen_width / 2, screen_height - 50) for _ in range(50)]
# 游戏主循环
running = True
while running:
# 设置背景颜色
screen.fill((0, 0, 0))
# 事件处理
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# 更新每颗烟花的状态
for firework in fireworks:
firework.update()
firework.draw(screen)
# 更新烟花粒子的位置
for firework in fireworks:
if firework.exploded:
particles = firework.explode()
fireworks.extend(particles)
# 更新每个烟花粒子的状态
for firework in fireworks