python写一个地铁跑酷小游戏
时间: 2023-07-01 11:11:52 浏览: 372
好的,这是一个简单的地铁跑酷小游戏的Python代码:
```python
import pygame
import random
# 初始化pygame模块
pygame.init()
# 设置游戏窗口大小
WIDTH = 800
HEIGHT = 600
screen = pygame.display.set_mode((WIDTH, HEIGHT))
# 设置游戏标题
pygame.display.set_caption("地铁跑酷")
# 加载游戏素材
player_img = pygame.image.load("player.png").convert_alpha()
player_rect = player_img.get_rect()
player_rect.bottom = HEIGHT - 50
player_rect.left = 50
obstacle_img = pygame.image.load("obstacle.png").convert_alpha()
# 设置游戏参数
score = 0
obstacle_list = []
# 设置游戏字体
font = pygame.font.SysFont(None, 48)
# 游戏主循环
running = True
while running:
# 处理游戏事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_SPACE:
player_rect.top -= 100
# 更新游戏状态
score += 1
# 添加障碍物
if random.randint(1, 100) > 80:
obstacle_rect = obstacle_img.get_rect()
obstacle_rect.bottom = HEIGHT - 50
obstacle_rect.left = WIDTH
obstacle_list.append(obstacle_rect)
# 移动障碍物
for obstacle_rect in obstacle_list:
obstacle_rect.left -= 5
if obstacle_rect.right < 0:
obstacle_list.remove(obstacle_rect)
# 碰撞检测
for obstacle_rect in obstacle_list:
if player_rect.colliderect(obstacle_rect):
running = False
# 绘制游戏场景
screen.fill((255, 255, 255))
screen.blit(player_img, player_rect)
for obstacle_rect in obstacle_list:
screen.blit(obstacle_img, obstacle_rect)
# 绘制分数
score_text = font.render("得分:" + str(score), True, (0, 0, 0))
screen.blit(score_text, (20, 20))
# 更新屏幕
pygame.display.flip()
# 退出游戏
pygame.quit()
```
你需要准备两张PNG格式的图片:`player.png`和`obstacle.png`,放在代码同一目录下。
这个游戏是一个简单的跑酷游戏,玩家需要控制人物跳跃避开障碍物,随着时间推移分数会逐渐增加。
阅读全文