用Python写一个地铁跑酷可复制
时间: 2024-01-02 22:02:15 浏览: 26
好的,以下是一个简单的地铁跑酷游戏的 Python 代码:
```python
import pygame
import random
pygame.init()
# 游戏窗口大小
WIDTH = 800
HEIGHT = 600
# 颜色定义
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
GREEN = (0, 255, 0)
RED = (255, 0, 0)
# 创建游戏窗口
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Subway Surfers")
# 加载背景图片
background_img = pygame.image.load("background.jpg").convert()
# 加载小人图片
player_img = pygame.image.load("player.png").convert_alpha()
# 加载障碍物图片
obstacle_img = pygame.image.load("obstacle.png").convert_alpha()
# 小人初始位置
player_x = 50
player_y = 480
# 障碍物初始位置
obstacle_x = WIDTH
obstacle_y = 480
# 障碍物速度
obstacle_speed = 5
# 小人移动速度
player_speed = 10
# 计分器
score = 0
# 游戏主循环
running = True
while running:
# 事件处理
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# 监听键盘事件
keys = pygame.key.get_pressed()
if keys[pygame.K_UP]:
player_y -= player_speed
if keys[pygame.K_DOWN]:
player_y += player_speed
if keys[pygame.K_LEFT]:
player_x -= player_speed
if keys[pygame.K_RIGHT]:
player_x += player_speed
# 绘制背景
screen.blit(background_img, (0, 0))
# 绘制小人
screen.blit(player_img, (player_x, player_y))
# 绘制障碍物
screen.blit(obstacle_img, (obstacle_x, obstacle_y))
# 移动障碍物
obstacle_x -= obstacle_speed
# 判断障碍物是否超出屏幕
if obstacle_x < -100:
obstacle_x = WIDTH
obstacle_y = random.randint(300, 500)
score += 1
# 绘制得分
font = pygame.font.Font(None, 36)
text = font.render("Score: " + str(score), True, WHITE)
screen.blit(text, (10, 10))
# 刷新屏幕
pygame.display.flip()
# 退出游戏
pygame.quit()
```
注意:这只是一个简单的示例代码,还有很多优化和完善的地方,如加入更多的障碍物、动画效果、音效等。
相关推荐
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)