python雪花满天飞代码
时间: 2024-01-16 15:18:00 浏览: 146
以下是一个用Python实现雪花飘落效果的代码示例:
```python
import pygame
import random
# 初始化pygame
pygame.init()
# 设置屏幕尺寸
screen_width = 800
screen_height = 600
screen = pygame.display.set_mode((screen_width, screen_height))
pygame.display.set_caption("Snowfall")
# 定义雪花列表
snow_list = []
# 创建雪花
for i in range(300):
x = random.randrange(0, screen_width)
y = random.randrange(0, screen_height)
radius = random.randrange(1, 5)
snow_list.append([x, y, radius])
# 游戏主循环
running = True
while running:
# 处理退出事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# 填充背景色
screen.fill((0, 0, 0))
# 移动雪花位置
for i in range(len(snow_list)):
pygame.draw.circle(screen, (255, 255, 255), snow_list[i][:2], snow_list[i][2])
snow_list[i][1] += 1
# 如果雪花超出屏幕范围,则重新生成
if snow_list[i][1] > screen_height:
snow_list[i][1] = random.randrange(-50, -10)
snow_list[i][0] = random.randrange(0, screen_width)
# 更新屏幕显示
pygame.display.flip()
# 退出pygame
pygame.quit()
```
这段代码使用了pygame库来创建一个窗口,并在窗口中实现雪花飘落的效果。代码首先初始化pygame,然后设置窗口尺寸和标题。接着创建一个雪花列表,并使用循环生成300个雪花的初始位置和半径。在游戏主循环中,处理退出事件和填充背景色。然后,通过循环遍历雪花列表,使用pygame.draw.circle函数绘制雪花,并更新雪花的位置。如果雪花超出屏幕范围,则重新生成一个新的位置。最后,通过pygame.display.flip()函数更新屏幕显示。当用户点击窗口的关闭按钮时,退出游戏循环,最后退出pygame。
阅读全文