四子棋

7 列 6 行重力落子,先连成四子者获胜。

难度
胜0
平0
负0
步数0

点击任意一列落子,棋子会落到该列最低的空位。横、竖、斜先连成四子的一方获胜,棋盘下满则为平局。键盘按 1 到 7 直接落子,左右方向键移动光标,回车落子。触屏可以点击列,或左右滑动选择、下滑落子。切换难度会立即开始新的一局。

常见问题

四子棋怎么玩?
你和 AI 轮流把棋子投进七列中的某一列,棋子受重力落到该列最低的空位。先让四枚己方棋子在横、竖或斜方向连成一线的一方获胜,棋盘下满且无人连四则为平局。
三档难度有什么区别?
简单档在空列里随机落子,只会封堵一半的眼前威胁,适合熟悉规则。普通档用四层搜索,会挡住你的一切成四机会。困难档把搜索加深到六层,配合 alpha-beta 剪枝与位置权重表,棋力最强。
悔棋会退回几步?
一次悔棋会同时撤回 AI 的最近一手和你的上一手,回到轮到你落子的局面。对局分出胜负或下满之后不能再悔棋,点「新游戏」开下一局即可。
胜平负记录存在哪里?
每局结束后自动累加胜、平、负场次,记录保存在浏览器本地存储里,刷新页面也不会丢失。浏览器隐私模式禁用本地存储时,游戏照常进行,只是记录不会保留。

使用步骤

  1. 选择难度

    顶部提供简单、普通、困难三档,默认普通。切换难度会立即开新局,简单档随机落子,普通档搜索四层,困难档搜索六层。

  2. 点击列落子

    点击任意一列的格子,棋子受重力落到该列最低的空位。轮到 AI 时状态栏会显示思考中,稍候它会在棋盘上应一手。

  3. 先连成四子

    横、竖、两条斜线任意方向先连成四子的一方获胜,连成的一线会高亮标出,棋盘下满且无人连四则为平局。

  4. 善用悔棋

    点撤销会同时撤回 AI 的应手和你的上一子,回到轮到你落子的局面。对局分出胜负后不能再悔棋,点新游戏开下一局。

  5. 键盘与触屏

    键盘按 1 到 7 在对应列直接落子,左右方向键移动光标,回车落子,N 键开新局,U 键悔棋。触屏点击列,或左右滑动选择后下滑落子。

工具详细介绍

四子棋的棋盘有七列六行,双方轮流把棋子投进某一列,棋子受重力落到该列最低的空位。想获胜就要让自己的四枚棋子在横、竖或斜方向连成一线,同时挡住对手同样的尝试。棋子只能逐层向上垒起,棋盘下半部分的价值远高于上半部分。中心列参与的方向最多,开局抢占中心往往能同时威胁多条线路,这也是先手方常见的第一手。很多看似不起眼的垫子,其实都在为后面一两步的连接做准备。

本站版本由你和 AI 轮流执子,你先手。三档难度对应不同的思考方式。简单档在空列里随机挑选,只会封堵一半的眼前威胁。普通档用四层搜索,会挡住你的一切成四机会。困难档把搜索加深到六层,配合 alpha-beta 剪枝与位置权重,看得更远也错得更少。HUD 记录胜、平、负场次。纪录保存在浏览器本地,全部计算都在页面里完成,不依赖网络请求,也不会上传你的对局数据。

原理与背景

四子棋在 1988 年被完整求解,结论是先手只要把第一子放进中心列就能必胜。求解者用逐层分析把所有局面归到胜、平、负三类,靠的是威胁序列与奇偶格的推理,而不是蛮力穷举。对人类玩家来说这个结论帮助有限,实战里先手方的获胜线路需要精确到每一手,一次失准就会让优势蒸发。七列六行共有超过四万亿种不同局面,比井字棋大得多,靠背谱不现实,靠几条原则去逼近才是正常路径。同一套规则下,普通玩家与熟练玩家的胜率差距因此非常明显。

本站的 AI 用 negamax 框架搜索,配合 alpha-beta 剪枝把不需要看的分支直接砍掉。评估函数统计棋盘上全部 69 个四格窗口,己方在窗口里有一、二、三子分别加分,对手同样计数扣分。再叠加一张中心权重表,让靠中间的棋子获得更高评分。搜索深度按难度分档,普通档看四层,困难档看六层,同时限制节点预算,保证低端设备也能快速应手。剪枝的效率取决于走法排序,引擎总是先试中心列再向两侧展开,好的排序能把实际搜索量压到理想值的一小部分。

典型使用场景

  1. 课间十分钟

    一盘四子棋多数在一两分钟内结束,规则一句话就能讲清。不用注册也不用下载,打开页面就能和人机对上一局,输赢都不占用太多情绪,适合在课间、通勤或排队的空隙里活动一下脑子。

  2. 陪孩子练推理

    重力落子比井字棋多一层因果,孩子能直观看到垫子如何抬高棋子。简单档偶尔漏堵,孩子有机会赢,等胜率上来了再切普通档,难度梯度自然,家长可以在旁边讲连四与封堵的思路。

  3. 理解搜索算法

    四子棋是学习博弈树搜索的经典题目,棋盘小到结果可以手工验证,又大到必须剪枝才能算完。把难度切到困难档,观察它如何封堵你的三连,再对照源码里的评估与剪枝过程,比读伪代码直观得多。

使用技巧

  • 开局优先占中心列,它在横、竖、斜多个方向都参与连线。
  • 对手两子相连时先看两端是否敞开,别等活三成型才去堵。
  • 把棋子垫在自己连线的前一格下方,一步棋同时做防守和铺路。
  • 落子前数一数对手下一手能连成四的格子,多于一个就要提前拆掉。

注意事项

  • 只顾自己连线

    埋头堆自己的棋子,等对手的三连亮出来才反应,往往已经来不及。每落一子前先扫一遍对手的棋形,封堵成四点的优先级通常高于自己铺路,能一手同时防守和进攻的格子最值得抢。

  • 喂对手垫子

    随手落在对手连线的正上方,等于替对方把棋子垫到成四的高度。落子前看一眼落点上下,如果这一子会让对手的斜线或竖线多出一截,就换个列下,别做白送的搬运工。

  • 忽略双威胁

    一手棋同时打开两条成四线时,对手只能堵一条。先用中心附近的子把两条线连起来,再等待对手犯错,比到处单独搭线更省手数,胜负常常就差在这一个先手点上。

相关工具