Python 恐龙快跑游戏:代码详解及制作教程
使用 Python 制作恐龙快跑游戏:代码详解及教程
本教程将带你使用 Python 和 Pygame 库制作一个简单的恐龙快跑游戏。代码包含详细的中文注释,讲解游戏逻辑和核心代码实现。
1. 导入必要的库
import pygame # 导入 Pygame 库,用于游戏开发
import random # 导入 random 库,用于生成随机数
pygame.init() # 初始化 Pygame
2. 定义游戏变量
# 定义颜色
BLACK = (0, 0, 0) # 黑色
WHITE = (255, 255, 255) # 白色
# 定义屏幕大小
SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600
# 创建游戏窗口
screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
# 设置窗口标题
pygame.display.set_caption('恐龙快跑')
# 加载背景音乐
pygame.mixer.music.load('background_music.mp3')
# 加载恐龙图片
dinosaur_img = pygame.image.load('dinosaur.png')
# 加载障碍物图片
obstacle_img = pygame.image.load('obstacle.png')
# 设置字体
font = pygame.font.SysFont('arial', 30) # 使用 Arial 字体,大小为 30
# 定义游戏状态
GAME_OVER = False # 游戏是否结束
SCORE = 0 # 得分
# 定义恐龙的初始位置
dinosaur_x = 50
dinosaur_y = 430
# 定义障碍物的初始位置
obstacle_x = SCREEN_WIDTH + 50
obstacle_y = 450
# 定义恐龙的移动速度和障碍物的移动速度
dinosaur_speed = 10
obstacle_speed = 10
# 定义障碍物的宽度和高度
obstacle_width = 50
obstacle_height = 50
# 播放背景音乐
pygame.mixer.music.play(-1) # 循环播放背景音乐
3. 游戏循环
while not GAME_OVER:
# 检测事件
for event in pygame.event.get():
if event.type == pygame.QUIT: # 如果用户点击关闭按钮
GAME_OVER = True # 结束游戏
# 绘制背景
screen.fill(WHITE) # 填充白色背景
# 绘制恐龙
screen.blit(dinosaur_img, (dinosaur_x, dinosaur_y)) # 在指定位置绘制恐龙图片
# 绘制障碍物
screen.blit(obstacle_img, (obstacle_x, obstacle_y)) # 在指定位置绘制障碍物图片
# 更新障碍物位置
obstacle_x -= obstacle_speed # 障碍物向左移动
# 如果障碍物移出屏幕,重新生成障碍物
if obstacle_x < -obstacle_width:
obstacle_x = SCREEN_WIDTH + 50 # 将障碍物重新放置在屏幕右侧
obstacle_y = random.randint(350, 450) # 随机生成障碍物的高度
# 检测恐龙和障碍物是否碰撞
if dinosaur_x + 64 > obstacle_x and dinosaur_x < obstacle_x + obstacle_width and dinosaur_y + 64 > obstacle_y:
GAME_OVER = True # 游戏结束
# 绘制得分
score_text = font.render('得分:' + str(SCORE), True, BLACK) # 使用字体渲染得分文本
screen.blit(score_text, (10, 10)) # 在屏幕左上角绘制得分文本
# 更新得分
SCORE += 1
# 检测恐龙是否超出屏幕
if dinosaur_x > SCREEN_WIDTH:
GAME_OVER = True # 游戏结束
# 检测是否按下空格键,控制恐龙跳跃
keys = pygame.key.get_pressed()
if keys[pygame.K_SPACE]: # 如果按下空格键
dinosaur_y -= dinosaur_speed * 2 # 恐龙向上跳跃
else:
dinosaur_y += dinosaur_speed # 恐龙下落
# 更新屏幕
pygame.display.update()
4. 游戏结束
# 关闭 Pygame
pygame.quit()
# 输出最终得分
print('恭喜你,你的得分为:' + str(SCORE))
注意:
- 你需要在代码中提供 background_music.mp3, dinosaur.png 和 obstacle.png 文件。
- 这只是一个简单的恐龙快跑游戏的示例,你可以根据自己的想法进行扩展,比如添加更多障碍物、得分系统、背景音乐等等。
- 更多关于 Pygame 的信息,请参考 Pygame 官方文档.
原文地址: https://www.cveoy.top/t/topic/oBXq 著作权归作者所有。请勿转载和采集!