欢迎访问宙启技术站
智能推送

如何使用Python编写一个简单的迷宫游戏

发布时间:2023-12-04 16:50:38

编写一个简单的迷宫游戏可以使用Python的pygame库来实现。下面是一个基本的迷宫游戏的代码示例。

首先,我们需要安装pygame库。可以使用以下命令来安装:

pip install pygame

接下来,我们可以开始编写迷宫游戏的代码。以下是一个简单的迷宫游戏的代码:

import pygame

# 初始化
pygame.init()

# 设置窗口尺寸
win_size = (400, 400)
win = pygame.display.set_mode(win_size)
pygame.display.set_caption("迷宫游戏")

# 颜色
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
RED = (255, 0, 0)

# 迷宫地图
maze = [
    [1, 1, 1, 1, 1],
    [1, 0, 0, 0, 1],
    [1, 1, 1, 0, 1],
    [1, 0, 0, 0, 1],
    [1, 1, 1, 1, 1]
]

# 设置矩形尺寸
block_width = win_size[0] // len(maze[0])
block_height = win_size[1] // len(maze)


def draw_maze():
    for row in range(len(maze)):
        for col in range(len(maze[row])):
            x = col * block_width
            y = row * block_height

            if maze[row][col] == 1:
                pygame.draw.rect(win, BLACK, (x, y, block_width, block_height))
            else:
                pygame.draw.rect(win, WHITE, (x, y, block_width, block_height))


def draw_player(player_pos):
    x = player_pos[1] * block_width
    y = player_pos[0] * block_height
    pygame.draw.rect(win, RED, (x, y, block_width, block_height))


def game_loop():
    player_pos = [1, 1]

    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                quit()

            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_UP:
                    if maze[player_pos[0]-1][player_pos[1]] == 0:
                        player_pos[0] -= 1
                elif event.key == pygame.K_DOWN:
                    if maze[player_pos[0]+1][player_pos[1]] == 0:
                        player_pos[0] += 1
                elif event.key == pygame.K_LEFT:
                    if maze[player_pos[0]][player_pos[1]-1] == 0:
                        player_pos[1] -= 1
                elif event.key == pygame.K_RIGHT:
                    if maze[player_pos[0]][player_pos[1]+1] == 0:
                        player_pos[1] += 1

        win.fill(WHITE)
        draw_maze()
        draw_player(player_pos)
        pygame.display.update()


# 开始游戏循环
game_loop()

在这个代码示例中,我们定义了一个迷宫地图作为二维数组,其中1表示墙壁,0表示路径。游戏玩家通过按键来控制一个小方块在迷宫中移动,玩家不能穿过墙壁。通过调用draw_maze()函数来绘制迷宫地图,调用draw_player()函数来绘制玩家方块,通过调用game_loop()函数来开始游戏循环。

可以使用上述代码来创建一个简单的迷宫游戏。