弹球游戏(Pong)是一个经典的电子游戏,玩家控制一个挡板,防止一个球进入对方的领土。以下是一个使用Python和pygame
库创建基础弹球游戏的示例代码。这段代码将创建一个简单的游戏界面,两个挡板和一颗球,球会在挡板之间弹跳。
import pygame
import sys
# 初始化pygame
pygame.init()
# 设置屏幕大小
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600
SCREEN = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
pygame.display.set_caption('Pong Game')
# 定义颜色
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
BLUE = (0, 0, 255)
# 游戏循环标志
running = True
# 游戏颜色
BG_COLOR = BLACK
BALL_COLOR = WHITE
PADDLE_COLOR = BLUE
# 球和挡板设置
BALL_RADIUS = 15
PADDLE_WIDTH = 15
PADDLE_HEIGHT = 90
# 球的速度
BALL_SPEED = [5, 5]
# 挡板的位置
PADDLE_1_Y = SCREEN_HEIGHT // 2 - PADDLE_HEIGHT // 2
PADDLE_2_Y = SCREEN_HEIGHT // 2 - PADDLE_HEIGHT // 2
# 球的位置
BALL_X = SCREEN_WIDTH // 2
BALL_Y = SCREEN_HEIGHT // 2
# 游戏主循环
clock = pygame.time.Clock()
while running:
# 事件处理
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_w:
# 挡板1上移
paddle_1_velocity = -5
elif event.key == pygame.K_s:
# 挡板1下移
paddle_1_velocity = 5
elif event.key == py_game.K_UP:
# 挡板2上移
paddle_2_velocity = -5
elif event.key == pygame.K_DOWN:
# 挡板2下移
paddle_2_velocity = 5
elif event.type == pygame.KEYUP:
if event.key == pygame.K_w or event.key == pygame.K_s:
paddle_1_velocity = 0
elif event.key == pygame.K_UP or event.key == pygame.K_DOWN:
paddle_2_velocity = 0
# 挡板移动
paddle_1_y += paddle_1_velocity
paddle_2_y += paddle_2_velocity
# 限制挡板移动范围
if paddle_1_y < 0:
paddle_1_y = 0
if paddle_1_y > SCREEN_HEIGHT - PADDLE_HEIGHT:
paddle_1_y = SCREEN_HEIGHT - PADDLE_HEIGHT
if paddle_2_y < 0:
paddle_2_y = 0
if paddle_2_y > SCREEN_HEIGHT - PADDLE_HEIGHT:
paddle_2_y = SCREEN_HEIGHT - PADDLE_HEIGHT
# 球移动
BALL_X += BALL_SPEED[0]
BALL_Y += BALL_SPEED[1]
# 球碰撞挡板
if BALL_X - BALL_RADIUS <= PADDLE_WIDTH and BALL_Y >= paddle_1_y and B