pygame跑酷小游戏代码
时间: 2023-07-02 16:19:58 浏览: 48
下面是一个简单的pygame跑酷小游戏代码示例,你可以根据自己的需求进行修改:
```python
import pygame
import random
# 初始化pygame模块
pygame.init()
# 设置游戏窗口大小
WINDOW_WIDTH = 800
WINDOW_HEIGHT = 600
window = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT))
# 设置游戏标题
pygame.display.set_caption("跑酷小游戏")
# 加载游戏音乐
pygame.mixer.music.load("bgm.mp3")
pygame.mixer.music.play(-1)
# 加载游戏图片
background_image = pygame.image.load("background.png")
player_image = pygame.image.load("player.png")
obstacle_image = pygame.image.load("obstacle.png")
# 设置字体
font = pygame.font.SysFont("arial", 30)
# 定义游戏变量
score = 0
player_x = 50
player_y = 500
player_speed = 10
obstacle_x = 800
obstacle_y = 520
obstacle_speed = 8
# 定义游戏函数
def draw_background():
window.blit(background_image, (0, 0))
def draw_player():
window.blit(player_image, (player_x, player_y))
def draw_obstacle():
window.blit(obstacle_image, (obstacle_x, obstacle_y))
def move_obstacle():
global obstacle_x
obstacle_x -= obstacle_speed
if obstacle_x < -100:
obstacle_x = 800
global score
score += 10
def collision_detection():
global score
if obstacle_x < player_x + 50 and obstacle_x + 50 > player_x and obstacle_y < player_y + 50 and obstacle_y + 50 > player_y:
score -= 10
obstacle_x = 800
def draw_score():
score_text = font.render("Score: " + str(score), True, (255, 255, 255))
window.blit(score_text, (10, 10))
# 游戏主循环
running = True
while running:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# 绘制游戏元素
draw_background()
draw_player()
draw_obstacle()
move_obstacle()
collision_detection()
draw_score()
# 移动玩家
keys = pygame.key.get_pressed()
if keys[pygame.K_UP]:
player_y -= player_speed
if keys[pygame.K_DOWN]:
player_y += player_speed
# 更新游戏窗口
pygame.display.update()
# 退出pygame模块
pygame.quit()
```
该示例中,我们定义了一个`draw_background`函数用于绘制游戏背景,一个`draw_player`函数用于绘制玩家,一个`draw_obstacle`函数用于绘制障碍物,一个`move_obstacle`函数用于移动障碍物,一个`collision_detection`函数用于检测碰撞,一个`draw_score`函数用于绘制分数。在游戏主循环中,我们处理了玩家的移动、绘制了游戏元素并更新游戏窗口。