问题修复
- 修复自定义棋局中兵/卒位置验证逻辑:红兵未过河限制在行5-6兵线位置,黑卒未过河限制在行3-4兵线位置
- 修正过河后兵/卒可放置在对方区域任意列,符合中国象棋实战规则
- 更新未过河兵卒"同列唯一"验证的行范围检测
- 修正错误提示信息,准确描述兵/卒位置规则
性能优化
- Zobrist哈希从32位升级到64位长整数,大幅降低哈希碰撞概率
- AI引擎实现线程局部置换表(Thread-local Transposition Table),避免多线程竞争
- 添加静止搜索(Quiescence Search)算法,解决水平效应问题
- 重构局面评估缓存机制,使用ConcurrentHashMap提升并发性能
- 实现棋盘绘制离屏缓存,优化前端渲染性能
新增功能
- 添加认输功能,支持玩家主动投降结束对局
- WebSocket添加心跳机制,维持连接稳定性
- 实现断线超时自动判负机制,保障联机对弈公平性
- 改进在线对战自动重连机制,增加重连尝试次数限制
- 将军检测基础上增加将死判断,完善游戏结束条件
算法改进
- 优化捉子检测算法,增加公平交换判定逻辑
- 重构循环局面检测逻辑,仅检查当前走棋方提升效率
- 优化LLM服务提示词构建,提升AI分析准确性
测试更新
- 更新重复局面检测测试用例,从三步循环扩展为六步三次重复场景
新增功能
- 新增玩家主动提议和棋功能:棋盘界面添加"🤝 和棋"按钮,支持联机/人机/本地三种模式
- 联机模式和棋采用WebSocket双向确认机制:提议方发起请求,对方可同意或拒绝
- 新增60回合无吃子自动判和规则:添加半步计数器(halfMoveClock),120半步无吃子或走兵自动判和
- 新增REST端点 POST /api/game/{gameId}/draw 支持本地/人机模式和棋
规则优化
- 三次重复局面判和:将循环局面检测从2次重复改为3次重复,符合中国象棋正式规则
- 优化长将/长捉违规检测逻辑,使用最近两次重复之间的循环进行判定
问题修复
- 修复和棋时状态栏错误显示"黑方获胜"的bug,和棋时正确显示"握手言和"
- 完善悔棋时半步计数器的回退逻辑,添加halfMoveClockHistory历史记录
WebSocket消息
- 新增DRAW_OFFER、DRAW_ACCEPTED、DRAW_REJECTED消息类型
- 新增/app/game/draw-offer和/app/game/draw-response端点
- 广播数据中添加halfMoveClock字段,支持前端显示无吃子回合数
新增功能
- 集成开源UCI中国象棋引擎 Pikafish(皮卡鱼),派生自Stockfish,NNUE神经网络评估,职业级棋力
- 新增引擎AI对战模式:人vs引擎AI、引擎AI vs引擎AI、引擎AI vs算法AI/LLM AI
- 引擎AI配置面板:可配置引擎路径、CPU线程数、Hash大小、棋力等级(0-20)、思考时间(1-60秒)
- 智能路径自动探测:支持Windows/Linux/macOS三平台自动选择引擎二进制路径
- 引擎连接测试:一键测试引擎是否可用,自动回填引擎路径
- 引擎走法失败自动降级到算法AI,保证对弈连续性
技术优化
- 实现UCI协议通信:通过标准文本协议与引擎进程交互,支持ProcessBuilder进程管理
- NNUE网络文件自动探测:多级目录搜索pikafish.nnue文件
- 坐标系统转换:内部棋盘坐标与UCI坐标双向转换(rank方向修正)
新增功能
- 新增棋盘坐标系统说明页面(/coordinate),详细讲解内部坐标定义、传统记谱坐标及红黑双方列号镜像关系
- 新增双棋盘坐标对照图示,直观对比内部坐标(0-based行列)与传统记谱坐标(九~一列号)
- 新增传统记谱走法讲解,详解进/退/平三种走法及炮三7等记谱示例
数据修复
- 修复残局库3个将帅照面问题(kill-001单车难士、kill-002单车难象、kill-003单马胜单士),调整帅/将位置避免飞将违规
- 修复残局库3个象位违反田字规则问题(kill-002、kill-007、draw-001),调整象至合法可达位置
界面优化
- 优化自定义棋局弹窗滚动条样式,采用木纹色调与棋局记录风格统一
- 自定义棋局弹窗标题区域固定,内容区域独立滚动,提升操作体验
- 调整打赏弹窗宽度,两个二维码并排展示,避免上下滚动
项目维护
- 完善CLAUDE.md项目开发文档,补充系统架构、配置说明及API设计
AI引擎优化
- 实现迭代加深搜索(Iterative Deepening),从浅层逐步加深,浅层结果指导深层搜索
- 添加PVS(Principal Variation Search)优化,使用零窗口搜索减少搜索节点数
- 引入主变例(PV)走法优先机制,提升走法排序效率
- 优化走法排序算法:PV走法优先 > 吃子价值 > Killer Moves > 历史启发
- 改进时间控制策略,支持在任意深度停止并返回当前最佳走法
- 实现稳定排序算法,相同价值走法使用Fisher-Yates部分洗牌
新增功能
- 新增残局库系统,支持杀局、和局、定式、趣味四种残局类型
- 残局支持1-5级难度分级和标签分类
- 支持残局列表分页查询、类型/难度筛选、标签搜索
- 支持随机加载残局功能
- 支持通关记录提交和统计功能
数据资源
- 内置经典残局数据(单车难士、单车难象、单马胜单士等)
新增功能
- 联机对战增加长将/长捉违规检测,循环局面自动判定(长将判负、长捉判负、普通循环判和)
- 添加和棋状态处理与动画展示
移动端适配
- 全面优化移动端响应式布局,支持900px/700px断点适配
- 添加微信浏览器专项适配,解决软键盘遮挡问题
- 支持iPhone刘海屏安全区域(safe-area-inset)
- 棋盘格子改为正方形,确保显示比例正确
- 添加屏幕旋转和页面可见性变化事件监听
配置调整
- 日志级别从DEBUG调整为INFO,减少生产环境日志输出
新增功能
- 联机对战支持自定义棋局,房主可设置初始棋盘布局和先手方
- 房间模型增加自定义棋盘配置字段
优化改进
- 优化WebSocket连接管理,支持连接重用和旧连接清理
- 增强消息发送的健壮性,添加错误处理和日志记录
- 添加调试日志便于问题排查
新增功能
- 新增象棋文化页面,展示象棋逸闻趣事
- 新增棋谱影视推荐页面,汇集经典古谱与影视作品
- 新增象棋名城页面,介绍象棋文化地标城市
- 创建首页模板,完善SEO元数据和结构化数据支持
样式优化
- 集成百度统计功能,优化网站数据分析
- 优化字体加载,改用本地CSS加载Inter字体,提升性能
- 调整规则页面表格列宽,改善阅读体验
新增功能
- 完善中国象棋游戏核心功能,实现完整棋子走法规则
- 集成WebSocket联机对战功能
- 添加AI思考和提示词流式推送机制
- 实现游戏状态管理和历史记录功能
- 集成音效播放和棋子皮肤切换系统
- 添加悔棋、访客观摩等高级功能
问题修复
- 修复士/仕的移动规则验证,确保只能在九宫格斜线位置移动
样式优化
- 调整象棋棋盘SVG尺寸,优化界面布局
- 重新定位棋盘线条坐标以适配新尺寸
新增功能
- 添加音效系统,支持走棋、吃子、将军等音效
- 添加棋子皮肤切换功能,支持多种棋子样式
- 实现动画效果,提升游戏体验
- 添加访客模式,支持旁观他人对局
- 完善游戏按钮控制功能
违规检测
- 增加长将/长捉检测功能
- 添加循环局面检测,实现违规识别
新增功能
- 添加AI等级选择功能,支持多种难度级别
- 实现AI算法选择,支持不同AI策略
新增功能
- 添加访客观摩模式,支持实时观看对局
- 实现实时游戏同步功能
- 添加Thymeleaf模板支持
内容丰富
- 增加象棋规则文档
- 增加象棋传说介绍页面
- 更新介绍文章内容
新增功能
- 添加AI走棋API接口
- 增强游戏控制功能
- 实现联机对决功能,支持多人在线对战
- 添加打赏页面
部署配置
- 实现Docker容器化部署
- 添加docker-compose配置文件
核心功能
- 添加中国象棋游戏核心功能
- 实现棋子移动规则验证
- 添加LLM配置测试功能
- 支持OpenAI、Claude等大模型对战
项目初始化
- 项目初始化创建
- 添加IntelliJ IDEA配置
- 修复代码格式化问题
- 添加大模型API配置文档