kards-env/INTERACTIVE_FEATURES.md

125 lines
3.6 KiB
Markdown
Raw Normal View History

2025-09-05 17:05:43 +08:00
# 🎮 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)