使用 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.pngobstacle.png 文件。
  • 这只是一个简单的恐龙快跑游戏的示例,你可以根据自己的想法进行扩展,比如添加更多障碍物、得分系统、背景音乐等等。
  • 更多关于 Pygame 的信息,请参考 Pygame 官方文档.

原文地址: https://www.cveoy.top/t/topic/oBXq 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录