124 lines
3.4 KiB
Markdown
124 lines
3.4 KiB
Markdown
# Boss战斗系统使用说明
|
||
|
||
## 问题解决
|
||
|
||
您遇到的"路径展示遇到boss后没有展示boss对战界面"问题已经修复!
|
||
|
||
### 修复的问题
|
||
|
||
1. **大小写匹配问题**: JSON文件中的boss是大写'B',但代码检查的是小写'b'
|
||
2. **路径生成问题**: 加载存档后需要重新生成路径才能检测到boss位置
|
||
|
||
### 修复后的功能
|
||
|
||
现在系统已经能够正确:
|
||
|
||
1. ✅ 加载包含Boss数据的存档文件
|
||
2. ✅ 自动重新生成通过Boss位置的路径
|
||
3. ✅ 检测路径中的Boss遭遇(支持大小写'B'和'b')
|
||
4. ✅ 弹出Boss战斗界面显示战斗策略
|
||
5. ✅ 实时模拟战斗过程和技能冷却
|
||
|
||
## 使用步骤
|
||
|
||
### 1. 启动游戏
|
||
```bash
|
||
cd /Users/gary/dev/maze_python
|
||
python main.py
|
||
```
|
||
|
||
### 2. 加载包含Boss数据的存档
|
||
- 点击"读档"按钮
|
||
- 系统会自动加载 `saves/maze_15_15_2.json`
|
||
- 控制台会显示:
|
||
```
|
||
成功加载游戏状态 (json格式),路径长度: 0
|
||
Boss数据: [11, 13, 8, 17]
|
||
玩家技能: [[6, 2], [2, 0], [4, 1]]
|
||
已为加载的存档重新生成路径,路径长度: 165
|
||
```
|
||
|
||
### 3. 开始路径展示
|
||
有3种方式触发Boss遭遇:
|
||
|
||
#### 方式1: 手动逐步前进
|
||
- 点击"下一步"按钮或按**空格键**
|
||
- 在路径第2步时会遇到Boss
|
||
- 控制台显示:`遇到Boss!位置: (4, 14)`
|
||
- 自动弹出Boss战斗界面
|
||
|
||
#### 方式2: 自动播放
|
||
- 点击"自动播放"按钮或按**A键**
|
||
- 系统会自动前进路径
|
||
- 遇到Boss时自动暂停并弹出战斗界面
|
||
|
||
#### 方式3: 使用测试程序
|
||
```bash
|
||
python test_boss_encounter.py
|
||
```
|
||
|
||
## Boss战斗界面操作
|
||
|
||
当遇到Boss时会弹出战斗界面,显示:
|
||
|
||
### 界面内容
|
||
- **Boss状态**: 显示4个Boss的血量 [11, 13, 8, 17]
|
||
- **技能信息**:
|
||
- 技能0: 伤害6, 冷却2
|
||
- 技能1: 伤害2, 冷却0
|
||
- 技能2: 伤害4, 冷却1
|
||
- **战斗策略**: 自动计算的最优击败序列
|
||
- **实时状态**: 当前回合、Boss血量、技能冷却
|
||
|
||
### 控制方式
|
||
- **空格键/下一步按钮**: 执行下一个战斗动作
|
||
- **A键/自动按钮**: 自动播放战斗过程
|
||
- **R键/重置按钮**: 重新开始当前战斗
|
||
- **ESC键/X按钮**: 关闭战斗界面
|
||
|
||
## 技术细节
|
||
|
||
### Boss数据格式
|
||
```json
|
||
{
|
||
"B": [11, 13, 8, 17], // 4个Boss的血量
|
||
"PlayerSkills": [
|
||
[6, 2], // 技能0: 伤害6, 冷却2回合
|
||
[2, 0], // 技能1: 伤害2, 冷却0回合(无冷却)
|
||
[4, 1] // 技能2: 伤害4, 冷却1回合
|
||
]
|
||
}
|
||
```
|
||
|
||
### 战斗策略示例
|
||
对于Boss血量[11, 13, 8, 17],系统计算出的最优策略:
|
||
- Boss 1: [0, 2, 1] (使用技能0, 技能2, 技能1)
|
||
- Boss 2: [0, 2, 1, 1] (使用技能0, 技能2, 技能1, 技能1)
|
||
- Boss 3: [0, 1] (使用技能0, 技能1)
|
||
- Boss 4: [2, 0, 2, 1, 0] (使用技能2, 技能0, 技能2, 技能1, 技能0)
|
||
|
||
### 动作说明
|
||
- **数字(0,1,2)**: 使用对应索引的技能
|
||
- **-1**: 等待(所有技能冷却-1,不使用技能)
|
||
|
||
## 调试信息
|
||
|
||
如果需要查看详细的调试信息,控制台会显示:
|
||
```
|
||
遇到Boss!位置: (4, 14), Boss数据: [11, 13, 8, 17], 玩家技能: [[6, 2], [2, 0], [4, 1]]
|
||
```
|
||
|
||
这确认了Boss遭遇检测和数据传递都正常工作。
|
||
|
||
## 验证功能
|
||
|
||
要验证所有功能正常工作:
|
||
|
||
1. 运行主程序
|
||
2. 点击"读档"加载存档
|
||
3. 点击"下一步"或按空格键
|
||
4. 在第2步应该看到Boss战斗界面弹出
|
||
5. 在战斗界面中尝试各种控制操作
|
||
|
||
现在系统应该完全正常工作了!🎉
|