小游戏:打砖块完整代码"/>
python小游戏:打砖块完整代码
代码如下
import pygame
import sys# 初始化Pygame
pygame.init()# 游戏窗口尺寸
WIDTH, HEIGHT = 800, 600# 颜色定义
WHITE = (255, 255, 255)
BLUE = (0, 0, 255)
GREEN = (0, 255, 0)# 创建游戏窗口
win = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("打砖块游戏")# 定义板和球的初始位置
paddle_x = 350
paddle_y = 550
ball_x = 400
ball_y = 400# 定义板和球的移动速度
paddle_speed = 15
ball_x_speed = 7
ball_y_speed = 7# 定义板的尺寸
paddle_width = 100
paddle_height = 10# 定义球的尺寸
ball_radius = 10# 初始化砖块
bricks = []
brick_width = 70
brick_height = 20
brick_color = BLUE
brick_spacing = 5for i in range(8):for j in range(10):brick = pygame.Rect(j * (brick_width + brick_spacing), i * (brick_height + brick_spacing), brick_width, brick_height)bricks.append(brick)# 游戏主循环
running = True
while running:for event in pygame.event.get():if event.type == pygame.QUIT:running = Falsekeys = pygame.key.get_pressed()if keys[pygame.K_LEFT]:paddle_x -= paddle_speedif keys[pygame.K_RIGHT]:paddle_x += paddle_speed# 更新球的位置ball_x += ball_x_speedball_y += ball_y_speed# 球碰到窗口边界时反弹if ball_x <= 0 or ball_x >= WIDTH:ball_x_speed *= -1if ball_y <= 0:ball_y_speed *= -1# 球碰到板时反弹if ball_y >= paddle_y - ball_radius and paddle_x <= ball_x <= paddle_x + paddle_width:ball_y_speed *= -1# 检查球是否碰到砖块for brick in bricks:if brick.colliderect(ball_x - ball_radius, ball_y - ball_radius, ball_radius * 2, ball_radius * 2):ball_y_speed *= -1bricks.remove(brick)# 清空屏幕win.fill(WHITE)# 绘制板pygame.draw.rect(win, GREEN, (paddle_x, paddle_y, paddle_width, paddle_height))# 绘制球pygame.draw.circle(win, GREEN, (ball_x, ball_y), ball_radius)# 绘制砖块for brick in bricks:pygame.draw.rect(win, brick_color, brick)# 更新屏幕pygame.display.flip()# 控制帧率pygame.time.delay(20)# 游戏结束,关闭Pygame
pygame.quit()
sys.exit()
更多推荐
python小游戏:打砖块完整代码
发布评论