kards-env/INTERACTIVE_FEATURES.md

125 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🎮 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)