
## 在线免费五子棋

五子棋，是一种两人对弈的纯策略型棋类游戏，通常双方分别使用黑白两色的棋子，轮流下在棋盘直线与横线的交叉点上，先在横线、直线或斜对角线上形成5子连线者获胜。

自1899年日本棋士黑岩泪香证明了原始规则的五子棋先下必胜后，五子棋迈入一条不断改良的道路，经过数十年的修改、验证、再修改，最终发展出加入禁手的五子棋，并经过公开征名，称为连珠，因此规则在日本成型，又称为日式规则或连珠规则。 原始规则依然有人在玩，也被称为无禁规则、自由规则

下面是一些五子棋的术语：

- 连五：纵、横、斜线同色五子的紧连。
- 活四：两端都可形成连五的四。
- 冲四：仅一端能形成连五的四。除"活四"外的，再下一着棋便可形成五连，并且存在五连的可能性的局面。
- 活三：指可形成活四的三，分为连活三和跳活三。跳活三是指三颗棋子中有一颗是分开的，但仍然在五个空位内，虽然不如连续的活三直接，但仍然有很强的威胁性，比如  _0_00_ 这种。
- 长连：纵、横、斜线同色形成超过五子的连线。
- 禁手：黑子禁止下出双活三、双四、长连，下出则判败；

## 禁手

禁手规则比较复杂，这里主要有下面几种禁手。

三三禁手：先手一子落下同时形成两个或者两个以上的活三（或嵌四），此子必须是**两个活三**的共同构成子。
长连禁手：先手一子落下形成六子或六子以上的连线。
四四禁手：先手一子落下同时形成两个或两个以上的四，只要是两个“四”即为禁手，无论是活四、冲四都算。

在禁手规则下，除非一方出现不堵冲四或活三的低级错误，黑方仅能通过“四三”一种方法来获胜；而白方可以通过“四三”“三三”“四四”“抓禁手”等方法取胜，长连也算胜利。

## 本在线页面功能

本五子棋代码开源，在 Claude3.5 的帮助下完成，实现比较精简，并且面有详细的测试用例。

1. 增加了特效，鼠标悬浮到棋盘位置后，增加一个半透明的棋子在棋盘相应位置。
2. 增加一个悔棋功能，支持黑白双方各悔棋 3 次。每次**只能悔棋一步，不能悔多步**。
3. 可选择禁手规则，如果先手禁手判失败，会高亮导致禁手的所有棋子。