以下是一个简单的开车小游戏代码示例:

import pygame
import random

# 初始化pygame
pygame.init()

# 游戏窗口大小
WINDOW_WIDTH = 500
WINDOW_HEIGHT = 600

# 颜色定义
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)

# 创建游戏窗口
game_window = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT))
pygame.display.set_caption("开车小游戏")

# 加载图片
car_image = pygame.image.load("car.png")
car_width = car_image.get_width()
car_height = car_image.get_height()

# 设置游戏字体
font = pygame.font.SysFont(None, 40)

# 定义函数:显示文字
def show_text(text, color, x, y):
    text_surface = font.render(text, True, color)
    game_window.blit(text_surface, (x, y))

# 定义函数:随机生成障碍物位置
def get_obstacle_pos():
    x = random.randint(50, WINDOW_WIDTH - 50)
    y = -50
    return x, y

# 定义函数:游戏主循环
def game_loop():
    # 车辆初始位置
    car_x = WINDOW_WIDTH / 2 - car_width / 2
    car_y = WINDOW_HEIGHT - car_height - 20

    # 障碍物列表
    obstacles = []

    # 游戏分数
    score = 0

    # 游戏结束标志
    game_over = False

    # 游戏主循环
    while not game_over:
        # 处理事件
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                game_over = True

        # 获取键盘输入
        keys = pygame.key.get_pressed()

        # 车辆移动
        if keys[pygame.K_LEFT] and car_x > 0:
            car_x -= 5
        if keys[pygame.K_RIGHT] and car_x < WINDOW_WIDTH - car_width:
            car_x += 5

        # 更新障碍物位置
        for i, obstacle in enumerate(obstacles):
            obstacle[1] += 5
            if obstacle[1] > WINDOW_HEIGHT:
                # 删除已经超出屏幕的障碍物
                obstacles.pop(i)
                score += 1

        # 添加新障碍物
        if len(obstacles) < 5:
            obstacle_x, obstacle_y = get_obstacle_pos()
            obstacles.append([obstacle_x, obstacle_y])

        # 碰撞检测
        for obstacle in obstacles:
            if car_x < obstacle[0] + 50 and car_x + car_width > obstacle[0] and car_y < obstacle[1] + 50 and car_y + car_height > obstacle[1]:
                game_over = True

        # 绘制游戏窗口
        game_window.fill(WHITE)
        game_window.blit(car_image, (car_x, car_y))
        for obstacle in obstacles:
            pygame.draw.rect(game_window, RED, (obstacle[0], obstacle[1], 50, 50))
        show_text("Score: " + str(score), BLACK, 10, 10)
        pygame.display.update()

    # 退出游戏
    pygame.quit()
    quit()

# 启动游戏
game_loop()

该小游戏包含以下功能:

  1. 通过左右箭头键控制车辆移动;
  2. 随机生成障碍物并在屏幕上滚动;
  3. 当车辆与障碍物碰撞时游戏结束;
  4. 显示游戏分数。
写个开车小游戏代码

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

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