搜索

验证报告

五子棋、中国象棋和军棋的规则验证、迁移和运行测试边界。

结果

  • 总体结果:PASS
  • 基准服务端:Paper 26.1.2 build 74
  • CraftEngine:26.7.4
  • 配套资源包:Jissee-Chess-CE 1.0.3
  • Java:25

统一自动房间

  • /cg create <房间> <棋盘> 根据棋盘类型创建五子棋、象棋或军棋房间。
  • /cg join、leave、resign、list、status、管理员 stop 共用一套生命周期。
  • 同一玩家、房间名和棋盘不能同时进入多个对局。
  • 自动房间进行中阻止手动棋子放置、镐回收和原模组手持军棋比较。
  • 每次有效走子立即保存棋面、双方 UUID、回合与状态;重启后按持久化数据恢复 CE 棋子。
  • 对局结束后保留最终棋面,再把五子棋清空、象棋和军棋恢复为标准开局。

棋盘状态全息

  • 已完成棋盘在区块加载后生成一个 Bukkit 原生 TextDisplay:PASS。
  • 同一全息配套生成一个可响应右击的 Interaction:PASS。
  • 空闲棋盘显示 0/2,右击路径会自动创建以棋盘为入口的房间:实现。
  • 等待棋盘显示 1/2 和房主,右击路径调用现有安全加入流程:实现。
  • 进行中显示 2/2、双方和当前行动玩家,结束状态显示等待重置:实现。
  • 围棋、飞行棋只显示未开放提示,不允许建立不完整自动房间:实现。
  • 无玩家的卸载区块不会被全息强制加载;区块加载后在配置的刷新周期内自动生成:PASS。
  • /cg reload 重建全息并应用新位置和点击范围,停服时移除实体:PASS。

中国象棋规则

  • 标准 10×9 棋面与 32 枚开局棋子逐格一致:PASS。
  • 车直线与阻挡:PASS。
  • 马走日与蹩马腿:PASS。
  • 相走田、塞象眼与不可过河:实现。
  • 仕斜走、将帅九宫:实现。
  • 炮不吃子零炮架、吃子恰好一个炮架:PASS。
  • 兵卒前进、过河后横走且不可后退:PASS。
  • 将帅照面、不能送将:PASS。
  • 将军提示、吃将帅、将死和困毙判胜:实现。
  • 棋面序列化往返:PASS。

双人军棋规则

  • 标准 13×5 棋面,红黑双方各 25 枚,开局世界棋子逐格一致:PASS。
  • 所有行营开局为空、军旗在大本营、地雷位于后两排:PASS。
  • 公路相邻移动与行营斜线连接:实现。
  • 铁路直线长距离移动、棋子阻挡:PASS。
  • 工兵沿铁路转弯搜索:PASS。
  • 普通棋子不能沿铁路转弯:PASS。
  • 行营内棋子不可被攻击:PASS。
  • 军旗、地雷和大本营内棋子不可移动:PASS。
  • 炸弹、地雷、工兵及等级比较沿用 Jissee/Chess 原模组规则:PASS。
  • 夺取军旗或对方无合法棋可走时判胜:实现。
  • 棋面序列化往返:PASS。

配置与旧数据迁移

  • config-version: 5
  • messages-version: 5
  • 旧五子棋房间缺少 type 时自动补为 type: gomoku:PASS。
  • 旧 gomoku.finish-display-seconds 与 quit-is-forfeit 自定义值迁移到 games:PASS。
  • 旧配置中的自定义消息前缀和 default-board-size: 13 保持不变:PASS。
  • 新增节点只补缺失项,不覆盖其他用户值。
  • 旧配置自动补全带中文说明的 holograms 节点,自定义前缀、房间设置和棋盘尺寸保持不变:PASS。

构建和运行测试

  • gradlew clean build selfTest:PASS。
  • 规则与布局自检:GAME_RULES_SELF_TEST PASS。
  • 成品 JAR 未打包 Bukkit、Paper、Adventure、Guava 或 SnakeYAML 依赖。
  • JisseeChessGames 2.1.0 在 Paper 26.1.2 上启用:PASS。
  • CraftEngine 26.7.4 加载 chess 资源:PASS。
  • /cg validate:1 个物品、80 个 CE 方块通过。
  • 帮助、棋盘类型、旧棋盘列表、setup 路由和 /cg reload:PASS。
  • 服务端实体查询检测 minecraft:text_display 与 minecraft:interaction:PASS。
  • 测试用棋盘区块强加载已移除,临时插件、数据和 CE 资源均已清理:PASS。
  • 正常关服、临时插件/数据/CE 资源清理和原资源包恢复:PASS。

验证边界

测试服没有两名在线真人玩家,无法自动完成“玩家右击全息加入,再由双方连续右击棋子和目标格”的整局视觉操作。全息两类实体、配置迁移、规则算法、棋面序列化、开局坐标和真实服务端加载已经验证;首次实战仍建议由两名玩家分别右击全息加入,走数步并确认全息高度、点击范围、棋子文字朝向与模型高度。中国象棋未实现赛事级长将、长捉和重复局面裁决;军棋使用固定合法预设阵型,不提供赛前自定义秘密布阵。