使用Python来下一场雪

具体效果:(大雪缓缓下落)

完整代码:

复制代码
import pygame
import random

# 初始化 Pygame
pygame.init()

# 设置窗口
width, height = 800, 600
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption("下雪动画")

# 定义雪花类
class Snowflake:
    def __init__(self):
        self.x = random.randint(0, width)
        self.y = random.randint(0, height)
        self.size = random.randint(2, 5)
        self.speed = random.uniform(1, 3)

    def fall(self):
        self.y += self.speed
        if self.y > height:
            self.y = 0
            self.x = random.randint(0, width)

    def draw(self):
        pygame.draw.circle(screen, (255, 255, 255), (self.x, self.y), self.size)

# 创建雪花列表
snowflakes = [Snowflake() for _ in range(100)]

# 主循环
running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    screen.fill((0, 0, 0))  # 填充背景
    for snowflake in snowflakes:
        snowflake.fall()
        snowflake.draw()

    pygame.display.flip()
    pygame.time.delay(30)

pygame.quit()
相关推荐
qq_339191142 分钟前
go cpu占比高排查,cpu100%排查,go pprof cpu命令
开发语言·后端·golang
西西弗Sisyphus6 分钟前
Qt 配置文件图标和文件版本信息
开发语言·qt
坐吃山猪10 分钟前
IDEA调试中Evaluate常用操作
java·python·intellij-idea
秋田君14 分钟前
Qt_Qt(c++)开发中常见错误与解决方法
开发语言·c++·qt
Tizzy JJ20 分钟前
接口自动化测试实战:如何围绕真实业务场景设计高质量用例
python·自动化·pytest
海兰24 分钟前
【 Python 量化交易】第10章:八大经典策略
android·python·kotlin
夏霞31 分钟前
c# 不支持的目标框架 解决方案
开发语言·c#
IT码农-爱吃辣条37 分钟前
Milvus 向量数据库 Python 实战教程
数据库·python·milvus
雄哥00739 分钟前
java代码反编译CFR
java·开发语言·反编译·cfr
这个人懒得名字都没写41 分钟前
OpenCV 官方教程中的测试图片Can’t find required data file
python·opencv