python打转块代码
时间: 2024-02-10 07:09:17 浏览: 30
以下是一个简单的Python打砖块游戏的代码示例:
```python
import pygame
from pygame.locals import *
import sys, random, time, math
# 初始化游戏
pygame.init()
# 设置游戏窗口大小
window_width = 800
window_height = 600
window = pygame.display.set_mode((window_width, window_height))
pygame.display.set_caption("打砖块游戏")
# 定义颜色
black = (0, 0, 0)
white = (255, 255, 255)
red = (255, 0, 0)
green = (0, 255, 0)
blue = (0, 0, 255)
# 定义挡板
paddle_width = 100
paddle_height = 10
paddle_x = window_width // 2 - paddle_width // 2
paddle_y = window_height - paddle_height - 10
paddle_speed = 10
# 定义球
ball_radius = 10
ball_x = window_width // 2
ball_y = window_height // 2
ball_speed_x = 5
ball_speed_y = 5
# 游戏主循环
while True:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
# 移动挡板
keys = pygame.key.get_pressed()
if keys[K_LEFT] and paddle_x > 0:
paddle_x -= paddle_speed
if keys[K_RIGHT] and paddle_x < window_width - paddle_width:
paddle_x += paddle_speed
# 移动球
ball_x += ball_speed_x
ball_y += ball_speed_y
# 碰撞检测
if ball_x < 0 or ball_x > window_width - ball_radius:
ball_speed_x *= -1
if ball_y < 0 or ball_y > window_height - ball_radius:
ball_speed_y *= -1
if ball_y > paddle_y - ball_radius and paddle_x - ball_radius < ball_x < paddle_x + paddle_width + ball_radius:
ball_speed_y *= -1
# 绘制游戏界面
window.fill(black)
pygame.draw.rect(window, white, (paddle_x, paddle_y, paddle_width, paddle_height))
pygame.draw.circle(window, red, (ball_x, ball_y), ball_radius)
pygame.display.update()
# 控制游戏帧率
pygame.time.Clock().tick(60)
```