一款基于传统中国象棋规则的变体棋类游戏,特色在于「象/相」的走法采用国际象棋中主教(Bishop)的规则。游戏内置 AI 对战引擎,支持多种难度,纯前端实现,开箱即玩。
- 变体规则:象/相的走法同国际象棋主教,沿斜线任意格移动,不可越子,可过河
- AI 对战:基于 Minimax 算法 + Alpha-Beta 剪枝,提供简单 / 中等 / 困难三档难度
- 双人对战:支持人机对战 (PVC) 与双人对战 (PVP) 模式切换
- 悔棋功能:可撤销上一步走棋
- 走子提示:可视化显示上一步走子位置及当前可移动位置
- 重复判和:三次出现重复局面自动判和
- 响应式布局:适配桌面与移动端屏幕
| 规则 | 说明 |
|---|---|
| 先手 | 白方先行 |
| 胜负 | 将死或困毙对方获胜 |
| 和棋 | 三次重复局面判和 |
| 象/相 | 沿斜线任意格移动,不可越子,可过河(国际象棋主教走法) |
| 其他棋子 | 车、马、炮、士、将帅、兵卒走法同传统中国象棋 |
bishop_xiangqi/
├── index.html # 页面结构
├── style.css # 样式表
├── script.js # 游戏逻辑与 AI 引擎
└── README.md # 项目说明
本项目为纯前端实现,无需任何依赖与构建步骤。
双击 index.html 文件,使用浏览器打开即可。
为获得更稳定的加载体验,建议通过本地服务器运行:
# Python 3
python -m http.server 8000
# 或 Node.js (需先安装 http-server)
npx http-server -p 8000然后浏览器访问 http://localhost:8000。
- 选择棋子:点击己方棋子,绿色圆点表示可移动位置,红色边框表示可吃子位置
- 移动棋子:点击可移动位置完成走棋
- 重新开始:点击「重新开始」按钮重置棋局
- 悔棋:点击「悔棋」按钮撤销上一步
- 切换模式:点击「切换为双人对战 / 切换为人机对战」切换游戏模式
- 调整难度:在「AI难度选择」中选择简单 / 中等 / 困难
AI 采用经典的 Minimax 算法 配合 Alpha-Beta 剪枝 进行搜索:
- 搜索深度:简单 2 层、中等 3 层、困难 4 层
- 评估函数:综合棋子价值、位置价值表、活动性、将军加成等多个维度
- 移动排序:优先搜索吃子走法,提升剪枝效率
- 时间限制:单次思考最长 5 秒
- 原生 HTML / CSS / JavaScript(无任何框架与依赖)
- CSS Grid 布局棋盘
- DOM 操作驱动界面渲染