5.0 KiB
5.0 KiB
迷宫游戏 - 新按钮功能说明
🎮 更新后的按钮功能
1. 🚀 Start Button (开始按钮)
- 功能: 生成全新的随机迷宫
- 操作: 点击"开始"按钮
- 结果:
- 生成新的迷宫布局
- 自动计算最优路径
- 可以开始路径演示
2. 💾 Save Button (保存按钮) - 新功能
- 功能: 自动保存当前迷宫为JSON格式
- 操作: 点击"保存"按钮
- 结果:
- 将当前迷宫保存为
saves/maze_save_时间戳.json
- JSON格式符合您要求的标准格式
- 包含完整的路径信息
- 将当前迷宫保存为
3. 📂 Load Button (加载按钮) - 新功能
- 功能: 加载样例迷宫并生成路径
- 操作: 点击"加载"按钮
- 行为逻辑:
- 优先加载:
saves/sample.json
文件(如果存在) - 自动生成路径: 加载后自动计算最优路径
- 备选方案: 如果 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 # 旧格式存档文件
🔄 使用流程
- 生成新迷宫: 点击 Start → 自动生成迷宫和路径
- 保存当前迷宫: 点击 Save → 保存为JSON格式
- 加载样例迷宫: 点击 Load → 加载sample.json并生成路径
- 演示路径: 使用路径控制按钮或快捷键观看路径演示
✅ 测试验证
所有新功能已通过测试:
- ✅ JSON格式保存功能正常
- ✅ sample.json加载功能正常
- ✅ 自动路径生成功能正常
- ✅ 格式转换功能正常
- ✅ 向后兼容CSV格式
- ✅ 存档界面加载后自动生成路径 ← 已修复
- ✅ 双击加载功能 ← 新增功能
- ✅ 动态UI布局适应 ← 新修复功能
UI自适应测试结果
- ✅ 10x10迷宫: 墙壁60px, 显示600px, 按钮位置正确
- ✅ 15x15迷宫: 墙壁53px, 显示795px, 按钮位置正确
- ✅ 20x20迷宫: 墙壁40px, 显示800px, 按钮位置正确
- ✅ 25x25迷宫: 墙壁32px, 显示800px, 按钮位置正确
- ✅ 加载不同存档: UI自动调整布局
🔧 问题修复
修复了存档界面加载问题
之前通过 Ctrl+L 选择存档读取时,地图能够加载但没有生成路径。现在已修复:
- 键盘回车加载: 选中存档后按回车键,自动加载并生成路径
- 鼠标双击加载: 双击存档项,直接加载并生成路径
- 自动路径生成: 无论通过哪种方式加载,都会自动重新计算最优路径
修复了UI布局自适应问题 ← 新修复
之前加载不同大小的地图时,UI布局会出现问题。现在已修复:
- 动态尺寸计算: 根据地图大小自动计算合适的显示尺寸
- 智能墙壁缩放: 自动调整墙壁大小,确保地图不会太大或太小
- 按钮位置自适应: 所有按钮和控制面板会根据地图大小自动调整位置
- 实时布局更新: 当加载不同大小的地图时,UI会立即重新布局
技术特性
- 最小墙壁尺寸: 20像素(确保可视性)
- 最大墙壁尺寸: 60像素(防止过大)
- 最大显示尺寸: 800像素或窗口宽度减去400像素(为控制面板留空间)
- 智能缩放算法: 根据地图大小自动选择最佳显示参数
现在您的迷宫游戏完全支持您要求的JSON存档格式!