给我一个用python编写的烟花代码
时间: 2023-09-13 21:05:26 浏览: 127
python烟花代码,使用python语言制作的放烟花的项目,代码清楚,运行简单,可做毕业设计,下载即可运行
### 回答1:
以下是一个使用Python编写的简单烟花代码,它使用了Pygame库来创建图形界面和动画效果。请注意,这只是一个基本示例,您可以根据自己的需要进行修改和扩展。
```python
import pygame
import random
# 初始化 Pygame
pygame.init()
# 设置画布大小
width = 800
height = 600
screen = pygame.display.set_mode((width, height))
# 定义颜色
black = (0, 0, 0)
white = (255, 255, 255)
red = (255, 0, 0)
green = (0, 255, 0)
blue = (0, 0, 255)
# 创建烟花类
class Firework():
def __init__(self, x, y):
self.x = x
self.y = y
self.size = random.randint(5, 10)
self.color = (random.randint(50, 255), random.randint(50, 255), random.randint(50, 255))
self.exploded = False
def draw(self):
pygame.draw.circle(screen, self.color, (self.x, self.y), self.size)
def explode(self):
self.exploded = True
for i in range(30):
sparks.append(Spark(self.x, self.y, self.color))
# 创建火花类
class Spark():
def __init__(self, x, y, color):
self.x = x
self.y = y
self.size = random.randint(2, 4)
self.color = color
self.speedx = random.randint(-5, 5)
self.speedy = random.randint(-5, 5)
self.gravity = 0.1
def draw(self):
pygame.draw.circle(screen, self.color, (self.x, self.y), self.size)
def update(self):
self.x += self.speedx
self.y += self.speedy
self.speedy += self.gravity
# 创建烟花和火花列表
fireworks = []
sparks = []
# 游戏主循环
running = True
while running:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == pygame.MOUSEBUTTONDOWN:
x, y = event.pos
fireworks.append(Firework(x, y))
# 更新烟花和火花
for firework in fireworks:
if not firework.exploded:
firework.draw()
if random.random() < 0.01:
firework.explode()
else:
for spark in sparks:
spark.draw()
spark.update()
# 更新画面
pygame.display.flip()
screen.fill(black)
# 关闭 Pygame
pygame.quit()
```
运行此代码将在窗口中创建一个黑色的画布,单击鼠标左键将创建烟花效果。
### 回答2:
以下是一个使用Python编写的烟花代码示例:
```python
import turtle
import random
def create_firework():
x = random.randint(-200, 200) # 烟花的起始位置X坐标
y = random.randint(-200, 200) # 烟花的起始位置Y坐标
fireworks = turtle.Turtle() # 创建一个烟花对象
fireworks.speed(10) # 设置绘制速度
fireworks.up() # 抬起画笔,不绘制路径
fireworks.goto(x, y) # 将画笔移动到指定位置
fireworks.down() # 放下画笔开始绘制
for _ in range(10):
r = random.random() # 随机生成一个0-1之间的浮点数
g = random.random()
b = random.random()
fireworks.pencolor(r, g, b) # 设置画笔颜色
distance = random.randint(50, 200) # 随机确定烟花的高度
fireworks.left(random.randint(0, 360)) # 随机设置烟花的方向
fireworks.forward(distance) # 绘制烟花的路径
fireworks.hideturtle() # 隐藏烟花图形
def main():
turtle.setup(800, 600) # 设置绘制窗口的大小
turtle.bgcolor("black") # 设置背景颜色为黑色
turtle.title("烟花绽放") # 设置窗口标题
for _ in range(10):
create_firework() # 创建烟花
turtle.done() # 结束绘制,保持窗口不关闭
if __name__ == "__main__":
main()
```
运行以上代码后,将会在窗口中看到十个随机颜色的烟花绽放效果。每个烟花的起始位置和发射高度都是随机生成的,烟花的轨迹也是随机的,每次运行效果都会有所不同。
阅读全文