Python Pong游戏教程:使用pygame库创建基础弹球游戏代码示例

本文介绍了一个使用Python编程语言和pygame库创建的经典电子游戏Pong的基础版本。代码展示了如何设置屏幕、颜色、球和挡板,以及使用键盘控制挡板移动和球的运动。
摘要由CSDN通过智能技术生成

弹球游戏(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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序熊.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值