3.6 KiB
3.6 KiB
🎮 KARDS 交互式测试环境 - 功能总结
✅ 已修复的问题
-
提示符显示问题
- 原始:
[Germany] T1.0 K1>(不清晰) - 修复后:
P1:Germany [回合1] K:1/1 >(清晰显示玩家、回合、资源)
- 原始:
-
前线控制权显示错误
- 问题:
AttributeError: 'BattleLine' object has no attribute 'controller' - 修复: 使用
battlefield.front_line_controller代替front_line.controller
- 问题:
-
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管理
- 调试模式支持
🔧 启动方式
# 方法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/ # 保存文件目录
💡 使用建议
- WSL用户: 使用简化版
./run_interactive.sh simple - Linux/Mac用户: 可以使用完整版享受Tab补全
- 测试新功能: 先加载相关场景,如
scenario frontline - 快速帮助: 随时输入
?查看常用命令
🐛 已知限制
- Tab补全在某些终端环境下可能不工作(使用简化版解决)
- 保存/加载使用pickle,仅用于测试环境
- 某些复杂单位能力尚未完全实现