import pygame
import random
import math
# 初始化pygame
pygame.init()
# 设置屏幕大小
WIDTH, HEIGHT = 800, 600
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("春节烟花效果")
# 设置颜色
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
RED = (255, 0, 0)
YELLOW = (255, 255, 0)
# 定义烟花类
class Firework:
def __init__(self):
self.x = random.randint(0, WIDTH)
self.y = HEIGHT
self.size = random.randint(5, 15)
self.vel = random.randint(5, 15)
self.color = random.choice([RED, YELLOW])
def update(self):
self.y -= self.vel
self.size -= 1
if self.size <= 0:
self.y = HEIGHT
self.size = random.randint(5, 15)
self.vel = random.randint(5, 15)
self.color = random.choice([RED, YELLOW])
def draw(self):
pygame.draw.circle(screen, self.color, (int(self.x), int(self.y)), self.size)
# 创建烟花对象列表
fireworks = [Firework() for _ in range(10)]
# 游戏主循环
running = True
while running:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# 更新烟花位置
for firework in fireworks:
firework.update()
# 绘制烟花
screen.fill(BLACK)
for firework in fireworks:
firework.draw()
# 尝试模拟"龙"形状
# 注意:这只是一个非常简化的示例,真正的"龙"形状需要更复杂的逻辑和图形设计
dragon_x = WIDTH // 2
dragon_y = HEIGHT // 2
dragon_size = 20
dragon_color = (0, 255, 0)
pygame.draw.line(screen, dragon_color, (dragon_x - dragon_size, dragon_y), (dragon_x + dragon_size, dragon_y), dragon_size)
# 更新屏幕
pygame.display.flip()
pygame.time.Clock().tick(60)
# 退出pygame
pygame.quit()
这个代码创建了一个简单的烟花效果,并在屏幕中心附近绘制了一条绿色的线来尝试模拟"龙"的一部分