4.9 KiB
4.9 KiB
KARDS 交互式测试环境
一个功能丰富的命令行界面,用于测试和调试KARDS战斗引擎。
🚀 快速开始
启动环境
# 方法1: 使用启动脚本
./run_interactive.sh
# 方法2: 直接运行Python
.venv/bin/python interactive/interactive_test.py
基本操作流程
- 部署单位:
deploy <unit_id> - 移动单位:
move <index> <line> <pos> - 攻击目标:
attack <from> <to> - 结束回合:
endturn
📖 命令参考
显示命令
| 命令 | 简写 | 说明 | 示例 |
|---|---|---|---|
show [detailed] |
s |
显示战场状态 | show detailed |
list [nation] |
ls |
列出可用单位 | list germany |
info <index> |
i |
查看单位详情 | info 0 |
help |
h, ? |
显示帮助 | help |
单位操作
| 命令 | 简写 | 说明 | 示例 |
|---|---|---|---|
deploy <unit_id> [pos] |
d |
部署单位 | deploy ger_infantry_grenadier 0 |
move <index> <line> <pos> |
m |
移动单位 | move 1 FRONT 0 |
attack <from> <to> |
a |
攻击目标 | attack 0 2 |
战线类型:
SUPPORT1或S1: 玩家1支援线FRONT: 前线SUPPORT2或S2: 玩家2支援线
游戏控制
| 命令 | 简写 | 说明 |
|---|---|---|
endturn |
end |
结束当前回合 |
reset |
- | 重置战场 |
switch |
- | 切换活动玩家(调试) |
资源管理
| 命令 | 简写 | 说明 | 示例 |
|---|---|---|---|
kredits |
k |
查看资源状态 | kredits |
setk <player> <amt> |
- | 设置Kredits | setk 0 10 |
sets <player> <amt> |
- | 设置Kredits Slot | sets 0 12 |
测试场景
| 命令 | 说明 | 示例 |
|---|---|---|
scenarios |
列出所有测试场景 | scenarios |
scenario <name> |
加载预设场景 | scenario frontline |
可用场景:
basic: 基础部署测试frontline: 前线争夺战squeeze: 挤压机制测试resources: 资源管理测试massive: 大规模战斗blitz: 闪击单位测试artillery: 火炮测试air: 空战场景
保存/加载
| 命令 | 说明 | 示例 |
|---|---|---|
save <filename> |
保存当前状态 | save my_game |
load <filename> |
加载保存的状态 | load my_game |
🎮 使用示例
基础对战流程
# 德军回合
deploy ger_infantry_grenadier # 部署步兵
deploy ger_tank_panzer_iv # 部署坦克
move 1 FRONT 0 # 移动步兵到前线
endturn # 结束回合
# 美军回合
deploy usa_infantry_marine # 部署陆战队
move 1 FRONT 1 # 移动到前线
attack 1 0 # 攻击德军步兵
endturn # 结束回合
测试特定场景
scenario frontline # 加载前线战斗场景
show detailed # 查看详细战场状态
attack 0 2 # 火炮攻击前线单位
info 2 # 查看被攻击单位状态
资源管理测试
scenario resources # 加载资源测试场景
kredits # 查看当前资源
move 0 FRONT 0 # 尝试移动(消耗资源)
kredits # 再次查看资源
setk 0 10 # 设置资源(调试)
🎨 显示说明
颜色编码
- 🔵 蓝色: 玩家1(德军)
- 🔴 红色: 玩家2(美军)
- 🟡 黄色: 资源和重要信息
- 🟢 绿色: 成功消息
- ⚪ 白色: 中立/空位置
单位图标
- 🚶 步兵 (Infantry)
- 🚗 坦克 (Tank)
- 🎯 火炮 (Artillery)
- ✈️ 战斗机 (Fighter)
- 💣 轰炸机 (Bomber)
战场布局
[玩家1支援线]
↓
[前线战场]
↑
[玩家2支援线]
💡 高级功能
自动补全
使用 Tab 键自动补全命令。
命令历史
使用上下箭头键浏览命令历史。
批量测试
可以通过管道输入命令序列:
cat demo_commands.txt | .venv/bin/python interactive/interactive_test.py
🔧 调试功能
查看单位详情
info <index> # 显示单位的所有属性
强制切换玩家
switch # 立即切换到另一个玩家(跳过回合)
设置任意资源
setk <player> <amount> # 设置Kredits
sets <player> <amount> # 设置Kredits Slot
📝 注意事项
- 单位索引: 从0开始,按战场位置顺序编号
- 玩家ID: 0 = 玩家1,1 = 玩家2
- 保存文件: 存储在
interactive/saves/目录 - 历史文件: 命令历史保存在
interactive/.history
🐛 已知问题
- 保存/加载功能使用pickle,仅用于测试环境
- 某些复杂能力可能未完全实现