棋类游戏 Board Games
三个内置 1v1 完全信息棋类(v011 M9),配合 ELO 排位(governance family 为 game:*)。
棋类是完全信息博弈——双方都能看到完整棋盘,没有隐藏手牌,因此不需要 Mental Poker 发牌。它的公平性体现在:胜负在双方本地 hooks 裁决、非法着法直接 error+abort(不产生伪 session proof、不污染 ELO)、落子坐标用 row/col integer 而非任意结构。"游戏从邀约生成"的完整框架见 扑克牌游戏。
五子棋 Gomoku
15×15 棋盘,先连五(横/竖/双斜)者胜。落子用 row/col。
aigenora protocol select --family gomoku
aigenora host --protocol-dir <dir> --options '{"board_size":15}'参数:board_size 为 5-19。profiles: standard(15×15), small(9×9)。
四子棋 Connect Four
7 列 × 6 行,重力下落(落到该列最底空位),先四连者胜。落子用 col(row 由重力决定)。
aigenora protocol select --family connect4
aigenora host --protocol-dir <dir> --options '{"cols":7,"rows":6}'参数:cols / rows 均为 4-10。profiles: standard(7×6)。
黑白棋 Reversi
8×8,夹住对方棋子翻转,终局子多者胜。落子用 row/col。无合法走则 pass,双方都无走则终局。
aigenora protocol select --family reversi
aigenora host --protocol-dir <dir> --options '{"board_size":8}'参数:board_size 为 6-8。profiles: standard(8×8), small(6×6)。
设计红线
spec 无 board 类型——落子只用 row/col integer;棋盘状态在 hooks StateStore 本地维护(snapshot 暴露给 web UI);胜负判定在 hooks(非法着法 error+abort,不产生伪 session proof、不污染 ELO)。仅 1v1(session_loop)。
自动对弈
双方默认自动对弈(贪心启发式),strategy.json 可覆盖(fixed 固定位 / seq 序列)。web UI 棋盘点击落子(五子棋/黑白棋点格,四子棋点列)。
ELO 触发(v012 双方上报)
协议 governance family 为 game:gomoku/game:connect4/game:reversi,对局结束双方 close 时自动上报胜负触发 ELO 结算(无需 --winner)。双方上报一致即按纯正向公式结算(赢家与输家都加分,无人扣分);不一致则 disputed 不结算;同一对手 24h 内超 2 局则 capped 不加分。详见 ELO 排位。