maze_python/md/NEW_FEATURES_README.md

5.0 KiB
Raw Blame History

迷宫游戏 - 新按钮功能说明

🎮 更新后的按钮功能

1. 🚀 Start Button (开始按钮)

  • 功能: 生成全新的随机迷宫
  • 操作: 点击"开始"按钮
  • 结果:
    • 生成新的迷宫布局
    • 自动计算最优路径
    • 可以开始路径演示

2. 💾 Save Button (保存按钮) - 新功能

  • 功能: 自动保存当前迷宫为JSON格式
  • 操作: 点击"保存"按钮
  • 结果:
    • 将当前迷宫保存为 saves/maze_save_时间戳.json
    • JSON格式符合您要求的标准格式
    • 包含完整的路径信息

3. 📂 Load Button (加载按钮) - 新功能

  • 功能: 加载样例迷宫并生成路径
  • 操作: 点击"加载"按钮
  • 行为逻辑:
    1. 优先加载: saves/sample.json 文件(如果存在)
    2. 自动生成路径: 加载后自动计算最优路径
    3. 备选方案: 如果 sample.json 不存在,打开存档选择界面

🎯 JSON格式标准

生成的JSON文件严格按照您的要求格式

{
  "maze": [
    ["#", "#", "#", "#", "#", "#", "#", "#", "#", "#"],
    ["#", "S", "#", " ", "#", " ", "#", " ", "#", "#"],
    ["#", " ", "#", " ", "#", " ", "#", " ", "#", "#"],
    ["#", " ", " ", " ", " ", " ", " ", " ", "E", "#"],
    ["#", "T", "#", "G", "#", "L", "#", "B", "#", "#"],
    ["#", "#", "#", "#", "#", "#", "#", "#", "#", "#"]
  ],
  "metadata": {
    "save_name": "maze_save_20250630_120000",
    "save_time": "2025-06-30T12:00:00",
    "maze_size": 10,
    "path_length": 25
  },
  "path_data": {
    "full_path": [[1,1], [2,1], [3,1], ...],
    "current_step": 0,
    "is_path_complete": false
  }
}

🎮 元素映射

内部代码 JSON显示 说明
'1' '#' 墙壁
'0' ' ' 通路
's' 'S' 起点
'e' 'E' 终点
'g数字' 'G' 金币
't数字' 'T' 陷阱
'l数字' 'L' 机关
'b数字' 'B' BOSS

⌨️ 快捷键和操作

游戏主界面

  • Ctrl+S: 保存为JSON格式
  • Shift+S: 保存为CSV格式兼容旧版本
  • Ctrl+L: 打开存档选择界面
  • 空格键: 路径下一步
  • R键: 重置路径
  • A键: 自动播放路径

存档选择界面

  • ↑↓方向键: 选择存档
  • 回车键: 加载选中的存档并生成路径
  • 鼠标双击: 直接加载存档并生成路径
  • Delete键: 删除选中的存档
  • N键: 新建存档
  • ESC键: 关闭存档界面

📁 文件结构

saves/
├── sample.json          # 样例迷宫文件Load按钮优先加载
├── maze_save_时间戳.json # Save按钮生成的存档
└── *.csv               # 旧格式存档文件

🔄 使用流程

  1. 生成新迷宫: 点击 Start → 自动生成迷宫和路径
  2. 保存当前迷宫: 点击 Save → 保存为JSON格式
  3. 加载样例迷宫: 点击 Load → 加载sample.json并生成路径
  4. 演示路径: 使用路径控制按钮或快捷键观看路径演示

测试验证

所有新功能已通过测试:

  • JSON格式保存功能正常
  • sample.json加载功能正常
  • 自动路径生成功能正常
  • 格式转换功能正常
  • 向后兼容CSV格式
  • 存档界面加载后自动生成路径 ← 已修复
  • 双击加载功能 ← 新增功能
  • 动态UI布局适应 ← 新修复功能

UI自适应测试结果

  • 10x10迷宫: 墙壁60px, 显示600px, 按钮位置正确
  • 15x15迷宫: 墙壁53px, 显示795px, 按钮位置正确
  • 20x20迷宫: 墙壁40px, 显示800px, 按钮位置正确
  • 25x25迷宫: 墙壁32px, 显示800px, 按钮位置正确
  • 加载不同存档: UI自动调整布局

🔧 问题修复

修复了存档界面加载问题

之前通过 Ctrl+L 选择存档读取时,地图能够加载但没有生成路径。现在已修复:

  1. 键盘回车加载: 选中存档后按回车键,自动加载并生成路径
  2. 鼠标双击加载: 双击存档项,直接加载并生成路径
  3. 自动路径生成: 无论通过哪种方式加载,都会自动重新计算最优路径

修复了UI布局自适应问题 ← 新修复

之前加载不同大小的地图时UI布局会出现问题。现在已修复

  1. 动态尺寸计算: 根据地图大小自动计算合适的显示尺寸
  2. 智能墙壁缩放: 自动调整墙壁大小,确保地图不会太大或太小
  3. 按钮位置自适应: 所有按钮和控制面板会根据地图大小自动调整位置
  4. 实时布局更新: 当加载不同大小的地图时UI会立即重新布局

技术特性

  • 最小墙壁尺寸: 20像素确保可视性
  • 最大墙壁尺寸: 60像素防止过大
  • 最大显示尺寸: 800像素或窗口宽度减去400像素为控制面板留空间
  • 智能缩放算法: 根据地图大小自动选择最佳显示参数

现在您的迷宫游戏完全支持您要求的JSON存档格式