# Interaction
## 版面定义
- `A`: 棋盘
- `B`: 游戏按钮组
- `C`: 交互命令输入区
- `D`: 实时评估区
## 棋盘坐标系
界面与引擎使用 **同一套全局 UCI**(红方在下,如炮二平五恒为 `h2e2`):
- 最左侧:`0 1 2 3 4 5 6 7 8 9`
- 最下侧:`a b c d e f g h i`
- `旋转` 只翻转棋子显示与鼠标/键盘的屏幕映射,不改变着法字符串
着法输入格式:
```text
[a-i][0-9][a-i][0-9]
```
示例:`h2e2`、`h0g2`
### 键盘(焦点在棋盘)
- **方向键**:移动光标
- **空格**:选中己方棋子 → 点目标格走子;已选中时再点己方棋子为改选
- 选子格(绿)与光标格(黄)以 **网格线变色** 标示,拐角不着色以免伸进邻格
## 命令大全
### 普通输入
- 任意合法四字符 UCI/UCCI 着法
### Slash 命令
| `/new` | 新游戏(先停模式与引擎) |
| `/undo` | 悔棋 |
| `/prev` | 上一步 |
| `/next` | 下一步 |
| `/rai` | 红 AI 开关 |
| `/bai` | 黑 AI 开关 |
| `/query` | 查询模式开关 |
| `/rotate` | 旋转棋盘 |
| `/copyfen` | 复制 FEN 到系统剪贴板 |
| `/pastefen <FEN>` | 粘贴 FEN(整段可含空格,如 `w - - 0 1`) |
| `/stop` | 停止红/黑电脑、查询、实时评估与引擎流 |
| `/help` | 操作说明浮层(Esc 关闭) |
| `/eval` | 实时评估开关 |
| `/exit` `/quit` | 退出 |
`C` 区为单一输入框,横跨底部,不拆独立命令检索面板。输入 `/` 可打开命令列表;**↑/↓** 浏览命令历史时不会意外退出输入模式。
## 功能按钮全集
`B` 区:红电脑、黑电脑、查询、新游戏、悔棋、旋转、上一步、下一步、复制 FEN、粘贴 FEN、实时评估。
## 停止 / 新局 / 终局
| `/stop` | 停止模式、引擎流、自动走子;**不改变**当前棋谱 |
| `/new` | 先执行与 `/stop` 相同的停止逻辑,再开新局 |
| 将死/困毙 | **自动**停止模式与引擎;**不会**自动 `/new` |
| 终局后 | 可用上一步/下一步或 `/prev` `/next` 浏览本盘棋谱 |
悔棋离开终局后可继续下子;分析/电脑模式需手动再开。
## 视觉与提示
- 显示上一手走子记号
- 查询模式与自动走子:落子前显示箭头
- `D` 区上半部 7 项:用时、深度、NPS、节点、分数、推荐、红/黑胜率
- `D` 区下半部 PV 列表,单条最多 16 步
- 查询/实时期间 `pv` 与 `best_move` 可随引擎流变化
- **开局库命中**时:查询、实时评估、红/黑电脑均不再启动引擎,D 区与箭头仅来自棋库
- 无计时器、无沙盘、无「查看思考细节」
## 参考
按钮与引擎调度对齐 GUI:`C:\projects\77xiangqi`。