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