import pygame
import random
# 初始化Pygame
pygame.init()
# 窗口尺寸
width = 800
height = 600
# 创建窗口
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption("Bouncing Ball")
# 小球初始位置和速度
ball_radius = 20
ball_color = (255, 0, 0)
ball_pos = [random.randint(ball_radius, width - ball_radius), random.randint(ball_radius, height - ball_radius)]
ball_speed = [random.randint(1, 5), random.randint(1, 5)]
# 游戏主循环
running = True
while running:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# 更新小球位置
ball_pos[0] += ball_speed[0]
ball_pos[1] += ball_speed[1]
# 检测小球与窗口边界碰撞
if ball_pos[0] < ball_radius or ball_pos[0] > width - ball_radius:
ball_speed[0] = -ball_speed[0]
if ball_pos[1] < ball_radius or ball_pos[1] > height - ball_radius:
ball_speed[1] = -ball_speed[1]
# 填充背景色
screen.fill((0, 0, 0))
# 绘制小球
pygame.draw.circle(screen, ball_color, (int(ball_pos[0]), int(ball_pos[1])), ball_radius)
# 刷新屏幕
pygame.display.flip()
# 退出游戏
pygame.quit()
在这个程序中,使用random模块来随机生成小球的初始位置和速度。然后,在主循环中,不断更新小球的位置,并检测小球是否与窗口边界发生碰撞,如果发生碰撞,则反转小球的速度。然后,使用pygame.draw.circle()函数来绘制小球,并使用pygame.display.flip()函数刷新屏幕。
运行这段代码后,将看到一个窗口中弹跳的小球。小球会在窗口中四处移动并反弹,直到关闭窗口为止。可以根据需要调整窗口大小、小球的半径、颜色以及移动速度等参数来定制属于自己的弹跳小球游戏。