返回
2023 Python 新年烟花秀
闲谈
2023-11-21 21:56:40
2022年即将过去,2023年即将到来,在此,我们用Python送你一场跨年烟花秀,以独特的编程方式告别旧年,喜迎新年!
准备工作
首先,我们需要安装一些必要的Python模块,包括tkinter、PIL、time、random和math。这些模块可以帮助我们创建图形用户界面(GUI)、处理图像、控制时间、生成随机数以及进行数学运算。
安装好这些模块后,我们就可以开始编写代码了。
代码实现
- 导入必要的模块
import tkinter as tk
from PIL import Image, ImageTk
import time
import random
import math
- 创建图形用户界面
root = tk.Tk()
root.title("Python新年烟花秀")
root.geometry("800x600")
- 加载烟花图像
image = Image.open("firework.png")
photo = ImageTk.PhotoImage(image)
- 创建烟花类
class Firework:
def __init__(self, x, y, size, color):
self.x = x
self.y = y
self.size = size
self.color = color
self.speed = random.uniform(0.5, 1.5)
self.angle = random.uniform(0, 2 * math.pi)
- 创建烟花列表
fireworks = []
- 绘制烟花
def draw_firework(firework):
canvas.create_image(firework.x, firework.y, image=photo)
- 更新烟花位置
def update_fireworks():
for firework in fireworks:
firework.x += firework.speed * math.cos(firework.angle)
firework.y += firework.speed * math.sin(firework.angle)
- 定时器
def timer():
update_fireworks()
draw_fireworks()
root.after(100, timer)
- 主循环
root.mainloop()
效果展示
运行代码后,你将看到一个图形用户界面,其中包含许多烟花。这些烟花会随机发射,并根据物理原理运动。你可以点击鼠标左键来发射更多的烟花。
结语
这就是用Python实现的跨年烟花秀。希望大家喜欢!