返回

2023 Python 新年烟花秀

闲谈

2022年即将过去,2023年即将到来,在此,我们用Python送你一场跨年烟花秀,以独特的编程方式告别旧年,喜迎新年!

准备工作

首先,我们需要安装一些必要的Python模块,包括tkinter、PIL、time、random和math。这些模块可以帮助我们创建图形用户界面(GUI)、处理图像、控制时间、生成随机数以及进行数学运算。

安装好这些模块后,我们就可以开始编写代码了。

代码实现

  1. 导入必要的模块
import tkinter as tk
from PIL import Image, ImageTk
import time
import random
import math
  1. 创建图形用户界面
root = tk.Tk()
root.title("Python新年烟花秀")
root.geometry("800x600")
  1. 加载烟花图像
image = Image.open("firework.png")
photo = ImageTk.PhotoImage(image)
  1. 创建烟花类
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)
  1. 创建烟花列表
fireworks = []
  1. 绘制烟花
def draw_firework(firework):
    canvas.create_image(firework.x, firework.y, image=photo)
  1. 更新烟花位置
def update_fireworks():
    for firework in fireworks:
        firework.x += firework.speed * math.cos(firework.angle)
        firework.y += firework.speed * math.sin(firework.angle)
  1. 定时器
def timer():
    update_fireworks()
    draw_fireworks()
    root.after(100, timer)
  1. 主循环
root.mainloop()

效果展示

运行代码后,你将看到一个图形用户界面,其中包含许多烟花。这些烟花会随机发射,并根据物理原理运动。你可以点击鼠标左键来发射更多的烟花。

结语

这就是用Python实现的跨年烟花秀。希望大家喜欢!