python编写一个弹球游戏_如何用Python和Pygame编简单的弹球游戏
时间: 2023-11-16 20:17:44 浏览: 243
基于python+Pygame库开发的弹球小游戏源码+代码注释+打包好的exe程序.zip
好的,下面是一个简单的弹球游戏的Python代码,使用了Pygame模块:
```python
import pygame
import random
# 初始化Pygame
pygame.init()
# 游戏窗口大小
WINDOW_WIDTH = 600
WINDOW_HEIGHT = 600
# 定义颜色
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
# 创建游戏窗口
WINDOW = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT))
pygame.display.set_caption("弹球游戏")
# 创建小球类
class Ball:
def __init__(self, x, y, r, color):
self.x = x
self.y = y
self.r = r
self.color = color
self.speed_x = random.randint(3, 6)
self.speed_y = random.randint(3, 6)
def move(self):
self.x += self.speed_x
self.y += self.speed_y
# 检测小球是否触边界
if self.x + self.r > WINDOW_WIDTH or self.x - self.r < 0:
self.speed_x = -self.speed_x
if self.y + self.r > WINDOW_HEIGHT or self.y - self.r < 0:
self.speed_y = -self.speed_y
def draw(self):
pygame.draw.circle(WINDOW, self.color, (int(self.x), int(self.y)), self.r)
# 创建挡板类
class Paddle:
def __init__(self, x, y, w, h, color):
self.x = x
self.y = y
self.w = w
self.h = h
self.color = color
def draw(self):
pygame.draw.rect(WINDOW, self.color, (self.x, self.y, self.w, self.h))
def move_left(self):
self.x -= 5
if self.x < 0:
self.x = 0
def move_right(self):
self.x += 5
if self.x + self.w > WINDOW_WIDTH:
self.x = WINDOW_WIDTH - self.w
# 创建小球对象和挡板对象
ball = Ball(WINDOW_WIDTH/2, WINDOW_HEIGHT/2, 10, BLUE)
paddle = Paddle(WINDOW_WIDTH/2-50, WINDOW_HEIGHT-20, 100, 10, GREEN)
# 游戏主循环
while True:
# 响应退出事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
exit()
# 检测挡板移动
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
paddle.move_left()
if keys[pygame.K_RIGHT]:
paddle.move_right()
# 移动小球
ball.move()
# 检测小球和挡板是否碰撞
if ball.y + ball.r > paddle.y and ball.x > paddle.x and ball.x < paddle.x + paddle.w:
ball.speed_y = -ball.speed_y
# 清屏
WINDOW.fill(WHITE)
# 绘制小球和挡板
ball.draw()
paddle.draw()
# 更新屏幕
pygame.display.update()
```
这是一个非常简单的弹球游戏,小球会在窗口中自动反弹,并且可以用左右箭头键控制挡板移动。你可以根据自己的需要对代码进行修改和优化。
阅读全文