用Python写一个地铁跑酷可复制
时间: 2024-01-02 20:02:45 浏览: 63
基于Python实现北京地铁最短路径规划仿真(源码).rar
5星 · 资源好评率100%
好的,下面是一个简单的地铁跑酷游戏,你可以在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()
# 障碍物的图片
obstacle_img = pygame.image.load("obstacle.png").convert_alpha()
# 玩家的初始位置和速度
player_x = 100
player_y = HEIGHT - player_img.get_height() - 50
player_speed = 5
# 障碍物的初始位置和速度
obstacle_x = WIDTH - 50
obstacle_y = HEIGHT - obstacle_img.get_height() - 50
obstacle_speed = 10
# 计分板
score = 0
font = pygame.font.Font(None, 36)
# 游戏循环
while True:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
# 移动玩家
keys = pygame.key.get_pressed()
if keys[pygame.K_UP]:
player_y -= player_speed
elif keys[pygame.K_DOWN]:
player_y += player_speed
# 移动障碍物
obstacle_x -= obstacle_speed
# 如果障碍物移出了屏幕,重新生成一个障碍物
if obstacle_x < -obstacle_img.get_width():
obstacle_x = WIDTH + random.randint(100, 500)
score += 1
# 检测碰撞
player_rect = pygame.Rect(player_x, player_y, player_img.get_width(), player_img.get_height())
obstacle_rect = pygame.Rect(obstacle_x, obstacle_y, obstacle_img.get_width(), obstacle_img.get_height())
if player_rect.colliderect(obstacle_rect):
pygame.quit()
sys.exit()
# 绘制游戏场景
screen.fill((255, 255, 255))
screen.blit(player_img, (player_x, player_y))
screen.blit(obstacle_img, (obstacle_x, obstacle_y))
score_text = font.render("得分:" + str(score), True, (0, 0, 0))
screen.blit(score_text, (10, 10))
pygame.display.update()
```
要运行这个游戏,你需要准备两张图片(player.png和obstacle.png),并将它们放在与python文件相同的目录下。你可以在互联网上找到这些图片。
你可以使用WASD或方向键来移动玩家。障碍物会从右侧向左侧移动,并在移出屏幕后重新生成。如果玩家撞到了障碍物,游戏将会结束,你可以通过关闭游戏窗口来退出游戏。游戏还包含一个计分板,每次通过一个障碍物,得分就会加1。
希望这个例子对你有所帮助!
阅读全文