python流星雨代码
时间: 2023-09-24 21:14:11 浏览: 216
以下是一个简单的 Python 流星雨代码示例,使用 Pygame 库绘制图形:
```python
import pygame
import random
pygame.init()
# 窗口尺寸
WIDTH = 800
HEIGHT = 600
# 初始化窗口
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Meteor Shower")
# 流星列表
meteors = []
# 随机生成流星
def create_meteor():
meteor = {
"x": random.randint(0, WIDTH),
"y": random.randint(0, HEIGHT),
"size": random.randint(1, 4),
"speed": random.randint(5, 15),
}
meteors.append(meteor)
# 绘制流星
def draw_meteor(meteor):
pygame.draw.rect(screen, (255, 255, 255), (meteor["x"], meteor["y"], meteor["size"], meteor["size"]))
# 移动流星
def move_meteor(meteor):
meteor["y"] += meteor["speed"]
# 主循环
running = True
while running:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# 清空屏幕
screen.fill((0, 0, 0))
# 随机生成流星
if random.random() < 0.05:
create_meteor()
# 绘制流星并移动
for meteor in meteors:
draw_meteor(meteor)
move_meteor(meteor)
# 删除移出屏幕的流星
meteors = [meteor for meteor in meteors if meteor["y"] < HEIGHT]
# 刷新屏幕
pygame.display.flip()
# 退出pygame
pygame.quit()
```
该代码使用了一个名为 `meteors` 的列表来存储所有的流星,并在主循环中随机生成新的流星,并将它们绘制到屏幕上,同时移动流星并删除移出屏幕的流星。可以通过调整参数来改变流星的数量、速度和大小。
阅读全文