基于python的一个简单的跑步游戏代码
以下是一个基于Python的简单跑步游戏代码,具体实现方式可以根据需要进行调整和修改:
import pygame
import random
# 初始化pygame
pygame.init()
# 设置屏幕尺寸
screen_width = 800
screen_height = 600
screen = pygame.display.set_mode((screen_width, screen_height))
# 设置游戏标题
pygame.display.set_caption("跑步游戏")
# 加载背景音乐
pygame.mixer.music.load("bgm.mp3")
pygame.mixer.music.play(-1)
# 加载图片资源
player_image = pygame.image.load("player.png")
obstacle_image = pygame.image.load("obstacle.png")
background_image = pygame.image.load("background.png")
# 设置字体
font = pygame.font.SysFont("Arial", 36)
# 设置游戏参数
player_speed = 5
obstacle_speed = 3
obstacle_frequency = 100
score = 0
player_x = 100
player_y = 400
obstacles = []
# 更新分数
def update_score():
global score
score += 1
score_text = font.render("Score: " + str(score), True, (255, 255, 255))
screen.blit(score_text, (10, 10))
# 显示游戏结束画面
def game_over():
game_over_text = font.render("Game Over!", True, (255, 255, 255))
screen.blit(game_over_text, (screen_width / 2 - 100, screen_height / 2))
pygame.display.update()
pygame.time.delay(2000)
pygame.quit()
# 游戏循环
running = True
while running:
# 处理退出事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# 更新背景
screen.blit(background_image, (0, 0))
# 更新障碍物
if random.randint(1, obstacle_frequency) == 1:
obstacles.append([screen_width, random.randint(0, screen_height - 64)])
for obstacle in obstacles:
obstacle[0] -= obstacle_speed
screen.blit(obstacle_image, obstacle)
if obstacle[0] < -64:
obstacles.remove(obstacle)
# 碰撞检测
if obstacle[0] < player_x + 64 and obstacle[0] + 64 > player_x and obstacle[1] < player_y + 64 and obstacle[1] + 64 > player_y:
game_over()
# 更新玩家位置
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
# 边界检测
if player_x < 0:
player_x = 0
if player_x > screen_width - 64:
player_x = screen_width - 64
if player_y < 0:
player_y = 0
if player_y > screen_height - 64:
player_y = screen_height - 64
# 更新玩家图片
screen.blit(player_image, (player_x, player_y))
# 更新分数
update_score()
# 更新屏幕
pygame.display.update()
# 退出pygame
pygame.quit()
``
原文地址: https://www.cveoy.top/t/topic/fbda 著作权归作者所有。请勿转载和采集!