制作一个打乒乓球的小程序
时间: 2023-05-20 10:04:51 浏览: 189
好的,我可以为您提供一个简单的打乒乓球小程序的代码示例:
```python
import pygame
import random
# 初始化pygame
pygame.init()
# 定义屏幕大小和背景颜色
screen_width = 640
screen_height = 480
bg_color = (255, 255, 255)
# 创建游戏窗口
screen = pygame.display.set_mode((screen_width, screen_height))
pygame.display.set_caption("打乒乓球")
# 定义球和球拍的属性
ball_radius = 10
ball_color = (255, 0, 0)
ball_speed = [5, 5]
ball_pos = [screen_width // 2, screen_height // 2]
paddle_width = 80
paddle_height = 10
paddle_color = (0, 0, 255)
paddle_speed = 10
paddle_pos = [screen_width // 2 - paddle_width // 2, screen_height - paddle_height - 10]
# 创建球和球拍的矩形对象
ball_rect = pygame.draw.circle(screen, ball_color, ball_pos, ball_radius)
paddle_rect = pygame.draw.rect(screen, paddle_color, (paddle_pos[0], paddle_pos[1], paddle_width, paddle_height))
# 游戏循环
while True:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
exit()
# 移动球拍
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT] and paddle_pos[0] > 0:
paddle_pos[0] -= paddle_speed
if keys[pygame.K_RIGHT] and paddle_pos[0] < screen_width - paddle_width:
paddle_pos[0] += paddle_speed
# 移动球
ball_pos[0] += ball_speed[0]
ball_pos[1] += ball_speed[1]
# 碰撞检测
if ball_pos[0] < ball_radius or ball_pos[0] > screen_width - ball_radius:
ball_speed[0] = -ball_speed[0]
if ball_pos[1] < ball_radius:
ball_speed[1] = -ball_speed[1]
if ball_pos[1] > screen_height - ball_radius - paddle_height and \
paddle_pos[0] - ball_radius < ball_pos[0] < paddle_pos[0] + paddle_width + ball_radius:
ball_speed[1] = -ball_speed[1]
# 更新球和球拍的矩形对象
ball_rect = pygame.draw.circle(screen, ball_color, ball_pos, ball_radius)
paddle_rect = pygame.draw.rect(screen, paddle_color, (paddle_pos[0], paddle_pos[1], paddle_width, paddle_height))
# 刷新屏幕
screen.fill(bg_color)
pygame.display.update()
```
这个小程序使用pygame库创建了一个简单的打乒乓球游戏,玩家可以通过键盘控制球拍的移动,使球不落地并反弹。