编写可控制的简单乒乓球游戏代码
以下是一个简单的乒乓球游戏代码,可以使用方向键控制球拍移动:
import pygame
pygame.init()
# 设置窗口大小
win_width = 640
win_height = 480
# 创建窗口
win = pygame.display.set_mode((win_width, win_height))
pygame.display.set_caption("Ping Pong")
# 设置颜色
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
# 设置球拍大小和速度
paddle_width = 80
paddle_height = 10
paddle_speed = 5
# 创建球拍和球
paddle = pygame.Rect(win_width // 2 - paddle_width // 2, win_height - paddle_height - 10, paddle_width, paddle_height)
ball = pygame.Rect(win_width // 2, win_height // 2, 10, 10)
# 设置球的速度和方向
ball_speed_x = 5
ball_speed_y = 5
ball_dir_x = 1
ball_dir_y = -1
# 游戏循环
run = True
while run:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
# 移动球拍
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT] and paddle.left > 0:
paddle.left -= paddle_speed
if keys[pygame.K_RIGHT] and paddle.right < win_width:
paddle.right += paddle_speed
# 移动球
ball.left += ball_speed_x * ball_dir_x
ball.top += ball_speed_y * ball_dir_y
# 碰到边界反弹
if ball.left < 0 or ball.right > win_width:
ball_dir_x = -ball_dir_x
if ball.top < 0:
ball_dir_y = -ball_dir_y
# 碰到球拍反弹
if ball.colliderect(paddle):
ball_dir_y = -ball_dir_y
# 如果球掉出屏幕,游戏结束
if ball.bottom > win_height:
run = False
# 画图
win.fill(BLACK)
pygame.draw.rect(win, WHITE, paddle)
pygame.draw.rect(win, WHITE, ball)
pygame.display.update()
# 退出游戏
pygame.quit()
在这个代码中,我们使用了 pygame 库来创建游戏窗口和处理事件。游戏循环中,我们首先处理事件,然后根据按键状态移动球拍,根据球的速度和方向移动球,并判断是否碰到边界或球拍,然后更新球的方向,最后画出球拍和球。如果球掉出屏幕,游戏结束
原文地址: https://www.cveoy.top/t/topic/fbcr 著作权归作者所有。请勿转载和采集!