玩法说明¶
本项目运行的是自由五子棋,也就是 freestyle Gomoku。规则故意保持简单:黑棋先手,双方轮流在空交叉点落子,任意一方先连成五颗同色棋就获胜。
本项目采用的规则¶
棋盘是 15x15。棋子落在交叉点上,不是格子里。
人机模式中:
人类:黑棋,先手
AI:白棋,后手
禁手:没有
胜利:横、竖、斜任意方向五连
这里的“没有禁手”很重要。只要落点是空点,就可以下。黑棋可以下三三、四四、长连;白棋也一样。AI 不会因为某个落子在 Renju 规则里被禁止而判它非法。
正常结果:点击空交叉点可以落黑棋;如果黑棋五连,黑棋胜;如果白棋五连,白棋胜;棋盘下满仍无人五连,则平局。
什么是五连¶
五连表示同色棋子在同一条线上连续五颗。
横向:
X X X X X
纵向:
X
X
X
X
X
斜向:
X . . . .
. X . . .
. . X . .
. . . X .
. . . . X
本项目中,只要形成五连就结束对局。没有额外判断“这一手是不是黑棋禁手”。
常见棋形¶
下面用 X 表示当前方棋子,_ 表示空点,. 表示不关心的点。
活四¶
_ X X X X _
活四两边都能补成五。对手如果只堵一边,另一边仍然能赢,所以这是非常强的棋形。
冲四¶
O X X X X _
冲四只有一边能补成五。对手下一手必须堵那个空点,否则当前方就能赢。
断点四¶
X X _ X X
中间空点补上就是五连。防守方必须优先处理这个点。本项目的 AI 会把这种窗口作为强制威胁识别。
活三¶
_ X X X _
活三下一步可以发展成活四或冲四。它不是马上赢,但如果同时出现多个活三,对手很容易防不过来。
双威胁¶
双威胁表示一步棋同时制造两个必须处理的问题。例如一个落点同时形成两个活三,或者同时形成强制四和活三。
示意:
横向:_ X X X _
纵向:_ X X X _
如果交叉点就是刚落下的棋,对手往往只能堵一条线。另一条线会继续发展,这就是主动进攻的重要来源。
Renju 禁手是什么¶
Renju 是另一套更严格的五子棋规则。它通常用来削弱黑棋先手优势,所以只限制黑棋,不限制白棋。
常见黑棋禁手包括:
三三禁手:黑棋一步同时形成两个活三。
四四禁手:黑棋一步同时形成两个四。
长连禁手:黑棋一步形成六颗或更多连续棋。
这些规则不是本项目当前玩法。本项目是 freestyle,所以黑棋下出三三、四四、长连都不会被判非法。
三三禁手怎么理解¶
在 Renju 中,如果黑棋一手落下后同时形成两个活三,通常叫三三。
示意:
横向:_ X X X _
纵向:_ X X X _
如果中心的 X 是黑棋刚落下的棋,那么黑棋同时有两条活三。Renju 里这通常被禁止,因为黑棋先手已经有优势,再允许这种双活三会让进攻过强。
在本项目中,这不是非法落子。AI 反而会把这种“双威胁”当作高价值进攻点。
四四禁手怎么理解¶
四四表示黑棋一手同时形成两个“四”。这里的“四”可以是活四、冲四或断点四。
示意:
横向:X X _ X X
纵向:O X X X X _
如果同一个落点让两条线都进入“下一手可能成五”的状态,防守方很难同时处理。Renju 里黑棋四四通常被禁。
本项目没有这条限制。四四是合法进攻,AI 也会优先搜索这种强制点。
长连怎么理解¶
长连表示六颗或更多同色棋连续在一条线上:
X X X X X X
Renju 中黑棋长连通常是禁手。freestyle 规则里,长连包含五连,所以可以直接视为胜利。
本项目使用 freestyle 处理:长连有效,形成长连的一方获胜。
为什么本项目选择 freestyle¶
本项目的目标是让浏览器中的 Rust/Wasm AI 展示搜索、评估、Bitboard、Alpha-Beta、Worker 并行和热力图。freestyle 规则更直接:
- 所有空点都合法,输入输出简单。
- AI 可以专注计算攻防,而不是先处理禁手判定。
- 人机模式下人类执黑先手,AI 执白后手,相当于让人类先走一步。
如果以后要做 Renju,需要新增禁手检测,并且只对黑棋生效。那会影响合法点生成、热力图、搜索分支和终局判定,不只是改几句文案。