125 lines
3.6 KiB
Markdown
125 lines
3.6 KiB
Markdown
# 🎮 KARDS 交互式测试环境 - 功能总结
|
||
|
||
## ✅ 已修复的问题
|
||
|
||
1. **提示符显示问题**
|
||
- 原始: `[Germany] T1.0 K1>`(不清晰)
|
||
- 修复后: `P1:Germany [回合1] K:1/1 >`(清晰显示玩家、回合、资源)
|
||
|
||
2. **前线控制权显示错误**
|
||
- 问题: `AttributeError: 'BattleLine' object has no attribute 'controller'`
|
||
- 修复: 使用 `battlefield.front_line_controller` 代替 `front_line.controller`
|
||
|
||
3. **WSL终端Tab补全问题**
|
||
- 解决方案: 创建了简化版 `interactive_simple.py`,不依赖readline
|
||
- 提供启动选项: `./run_interactive.sh simple`
|
||
|
||
## 🚀 两个版本对比
|
||
|
||
### 完整版 (interactive_test.py)
|
||
- ✅ 命令历史记录
|
||
- ✅ Tab自动补全(需要兼容的终端)
|
||
- ✅ 保存/加载功能
|
||
- ✅ 命令历史文件
|
||
|
||
### 简化版 (interactive_simple.py)
|
||
- ✅ 不依赖readline,兼容所有终端
|
||
- ✅ 清晰的提示符格式
|
||
- ✅ 快速帮助命令 `?`
|
||
- ✅ 适合WSL和SSH环境
|
||
|
||
## 📊 提示符格式说明
|
||
|
||
```
|
||
P1:Germany [回合1] K:3/5 >
|
||
│ │ │ │
|
||
│ │ │ └── Kredits: 当前3/最大5
|
||
│ │ └────────── 当前回合数
|
||
│ └──────────────────── 玩家名称
|
||
└───────────────────────── 玩家编号(P1/P2)
|
||
```
|
||
|
||
颜色编码:
|
||
- 🔵 蓝色: 玩家1
|
||
- 🔴 红色: 玩家2
|
||
- 🟡 黄色: 资源信息
|
||
- 🔷 青色: 回合信息
|
||
|
||
## 🎯 核心功能列表
|
||
|
||
### 1. 战场可视化
|
||
- 彩色终端显示
|
||
- 单位图标(🚶步兵 🚗坦克 🎯火炮 ✈️战斗机 💣轰炸机)
|
||
- 前线控制权显示
|
||
- 资源条可视化
|
||
|
||
### 2. 命令系统
|
||
- 30+ 个命令
|
||
- 命令简写支持
|
||
- 快速帮助 (`?`)
|
||
- 详细帮助 (`help`)
|
||
|
||
### 3. 测试场景
|
||
- 8个预设场景
|
||
- 快速场景加载
|
||
- 场景列表查看
|
||
|
||
### 4. 单位管理
|
||
- YAML单位加载
|
||
- 单位部署/移动/攻击
|
||
- 单位详情查看
|
||
|
||
### 5. 资源控制
|
||
- Kredits查看和设置
|
||
- Kredits Slot管理
|
||
- 调试模式支持
|
||
|
||
## 🔧 启动方式
|
||
|
||
```bash
|
||
# 方法1: 使用启动脚本(自动选择版本)
|
||
./run_interactive.sh # 完整版
|
||
./run_interactive.sh simple # 简化版
|
||
|
||
# 方法2: 直接运行Python
|
||
.venv/bin/python interactive/interactive_test.py # 完整版
|
||
.venv/bin/python interactive/interactive_simple.py # 简化版
|
||
|
||
# 方法3: 批量测试
|
||
./interactive/run_all_tests.sh # 运行所有功能测试
|
||
```
|
||
|
||
## 📝 文件结构
|
||
|
||
```
|
||
/interactive/
|
||
├── interactive_test.py # 完整版主程序
|
||
├── interactive_simple.py # 简化版主程序(WSL友好)
|
||
├── battle_visualizer.py # 战场可视化模块
|
||
├── command_parser.py # 命令解析器
|
||
├── test_scenarios.py # 测试场景
|
||
├── demo_commands.txt # 演示命令序列
|
||
├── run_all_tests.sh # 批量测试脚本
|
||
├── README.md # 详细文档
|
||
└── saves/ # 保存文件目录
|
||
```
|
||
|
||
## 💡 使用建议
|
||
|
||
1. **WSL用户**: 使用简化版 `./run_interactive.sh simple`
|
||
2. **Linux/Mac用户**: 可以使用完整版享受Tab补全
|
||
3. **测试新功能**: 先加载相关场景,如 `scenario frontline`
|
||
4. **快速帮助**: 随时输入 `?` 查看常用命令
|
||
|
||
## 🐛 已知限制
|
||
|
||
- Tab补全在某些终端环境下可能不工作(使用简化版解决)
|
||
- 保存/加载使用pickle,仅用于测试环境
|
||
- 某些复杂单位能力尚未完全实现
|
||
|
||
## 📚 相关资源
|
||
|
||
- [快速入门](INTERACTIVE_QUICKSTART.md)
|
||
- [详细文档](interactive/README.md)
|
||
- [战斗系统说明](README.md)
|
||
- [YAML单位规范](assets/units/units_spec.yaml) |