# chinese-chess-js **Repository Path**: system_mini/chinese-chess-js ## Basic Information - **Project Name**: chinese-chess-js - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-01 - **Last Updated**: 2026-02-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # chinese-chess-js ![License](https://img.shields.io/badge/license-MIT-blue.svg) ![Language](https://img.shields.io/badge/language-JavaScript-yellow.svg) ![Platform](https://img.shields.io/badge/platform-Web-brightgreen.svg) 纯前端实现的中国象棋人机对战游戏,无需后端依赖,开箱即用,支持完整的象棋规则和智能AI对战。 ## 🌟 功能特性 - 🎮 完整象棋规则:支持帅/将、士/仕、相/象、马/馬、车/車、炮、兵/卒的全部走子规则,包含将帅不照面、马腿/象眼阻挡、兵卒过河横向移动等细节 - 🤖 智能AI:AI具备基础的吃子策略、位置评估、防御意识,优先攻击对方老将、保护己方核心棋子 - 🕹️ 友好交互:支持棋子选中高亮、可移动位置提示、吃子动画、回合计时 - ✨ 实用功能:悔棋、重新开始、胜负判定弹窗、移动端适配 - 🎨 视觉体验:仿真实木棋盘样式、楚河汉界分隔、棋子光影效果 ## 🚀 快速开始 ### 1. 克隆项目 ```bash git clone https://github.com/EndlessPixel/chinese-chess-js.git cd chinese-chess-js ``` ### 2. 运行游戏 直接打开 `index.html` 文件即可运行,无需额外依赖(推荐使用 Chrome/Firefox/Edge 现代浏览器)。 ### 3. 游戏操作 - 点击己方棋子选中,再次点击目标位置移动(或点击空白处定位目标位置) - 点击「显示可移动位置」可查看当前选中棋子的所有合法走法 - 「悔棋」可回退最近两步(玩家+AI各一步) - 「重新开始」可重置棋盘和游戏状态 ## ♟️ 核心规则实现 - **帅/将**:仅能在九宫格内横竖走一步,不可照面 - **士/仕**:仅能在九宫格内斜走一步 - **相/象**:斜走两步,不可过河,象眼有子则无法移动 - **马/馬**:走日字,马腿有子则无法移动 - **车/車**:横竖无阻挡移动任意步数 - **炮**:横竖无阻挡移动任意步数,吃子需隔一子 - **兵/卒**:未过河仅能前进,过河后可横向移动 ## 🛠️ 自定义扩展 ### 1. 调整AI难度 修改 `makeAIMove` 中的价值评估逻辑: - 调整 `calculatePositionValue` 中的位置加分权重 - 修改 `calculateDefenseValue` 中的防御加分权重 - 调整AI可选最佳移动数量(默认前3个随机选) ### 2. 自定义样式 修改 `css` 文件夹中的CSS样式: - 调整棋盘颜色(`.board` 背景) - 调整棋子样式(`.piece` 背景/阴影/字体) - 调整响应式尺寸(`@media` 适配规则) ### 3. 新增功能 - 双人对战模式:注释掉 `switchTurn` 中的AI触发逻辑 - 走子记录:扩展 `moveHistory` 状态,添加走子记录UI - 难度选择:新增AI难度等级,调整思考深度/价值评估权重 ## 📄 许可证 本项目基于 MIT 许可证开源 - 详见 [LICENSE](LICENSE) 文件。 ## 🙏 致谢 - 中国象棋规则参考:中国象棋协会官方规则 - 界面设计参考:经典象棋游戏视觉风格 ``` ### 总结 1. **核心修复**:`checkWin` 改为从 `gameState.pieces` 取值+返回具体获胜方,`attemptMove` 按获胜方判定输赢,彻底解决黑方失灵问题; 2. **README亮点**: - 清晰的功能特性+快速开始步骤,方便使用者上手; - 完整的项目结构说明,适配你拆分后的模块化代码; - 提供自定义扩展指南(AI难度/样式/功能),提升项目实用性; - 规范的开源许可证+标签,符合GitHub项目发布标准。