项目14:简易迷宫游戏 — 《跟着小王学Python·新手》

《跟着小王学Python》 是一套精心设计的Python学习教程,适合各个层次的学习者。本教程从基础语法入手,逐步深入到高级应用,以实例驱动的方式,帮助学习者逐步掌握Python的核心概念。通过开发游戏、构建Web应用、编写网络爬虫、制作桌面软件等多样化项目,学习者可以深入理解并实践Python知识。每周更新1至2篇内容,旨在助力学习者成长为全栈工程师。


文章目录

  • 项目14:简易迷宫游戏 --- 《跟着小王学Python·新手》
  • 目标
  • 功能
  • 设计
  • 迷宫地图设计
  • 角色控制设计
  • 胜利条件设计
  • 实现步骤
  • 代码实现
  • 测试
  • 注意事项
  • 小结


项目14:简易迷宫游戏 --- 《跟着小王学Python·新手》_java

目标

本项目旨在通过构建一个简易迷宫游戏,帮助新手学习Python编程。通过实践,新手可以掌握基本的编程逻辑、数据结构以及游戏开发的基础。

功能

  • 迷宫生成:自动生成一个简单的迷宫地图。
  • 角色移动:玩家可以通过键盘控制角色在迷宫中移动。
  • 目标寻找:玩家需要找到迷宫中的出口。
  • 胜利条件:玩家到达出口即为胜利。

设计

迷宫地图设计

迷宫地图使用二维数组表示,其中0代表可以行走的路径,1代表墙壁。迷宫的入口和出口分别用SE表示。

角色控制设计

玩家通过键盘的上下左右键控制角色移动。每次移动后,检查角色是否到达出口。

胜利条件设计

当角色移动到标记为E的位置时,游戏结束,显示胜利信息。

实现步骤

  1. 初始化迷宫地图。
  2. 定义玩家的起始位置。
  3. 监听键盘事件,实现角色移动。
  4. 检查角色是否到达出口。
  5. 显示胜利信息。

代码实现

粘贴运行即可

# 简易迷宫游戏
def create_maze(width, height):
    # 创建迷宫地图
    maze = [[1 for _ in range(width)] for _ in range(height)]
    maze[0][0] = 0  # 入口
    maze[height-1][width-1] = 0  # 出口
    return maze

def print_maze(maze, player_pos):
    # 打印迷宫地图
    for y in range(len(maze)):
        for x in range(len(maze[y])):
            if [x, y] == player_pos:
                print('P ', end='')  # 玩家位置
            elif [x, y] == [len(maze[0])-1, len(maze)-1]:
                print('E ', end='')  # 出口
            elif maze[y][x] == 1:
                print('1 ', end='')  # 墙壁
            else:
                print('0 ', end='')  # 路径
        print()

def move_player(maze, player_pos, direction):
    # 玩家移动
    x, y = player_pos
    if direction == 'w' and maze[y-1][x] == 0:
        return [x, y-1]
    elif direction == 's' and maze[y+1][x] == 0:
        return [x, y+1]
    elif direction == 'a' and maze[y][x-1] == 0:
        return [x-1, y]
    elif direction == 'd' and maze[y][x+1] == 0:
        return [x+1, y]
    return player_pos

def main():
    width, height = 5, 5  # 迷宫大小
    maze = create_maze(width, height)
    player_pos = [0, 0]  # 玩家起始位置
    print_maze(maze, player_pos)

    while True:
        direction = input("输入移动方向(w/a/s/d): ")
        new_pos = move_player(maze, player_pos, direction)
        if new_pos == player_pos:
            print("不能往那个方向移动")
        else:
            player_pos = new_pos
            print_maze(maze, player_pos)
            if player_pos == [width-1, height-1]:
                print("恭喜,你找到了出口!")
                break

if __name__ == "__main__":
    main()

测试

  • 测试迷宫生成是否正确。
  • 测试玩家是否可以在迷宫中自由移动。
  • 测试玩家到达出口时游戏是否结束。

注意事项

  • 确保迷宫的入口和出口设置正确。
  • 监听键盘事件时,确保方向输入正确处理。
  • 游戏结束条件判断要准确。

小结

通过本项目,新手可以学习到Python的基本语法、控制结构以及简单的游戏开发逻辑。同时,通过实践,可以加深对编程思维的理解。