规则
井字棋又叫三子棋,规则一句话就能讲完:在 3×3 的九宫格里,谁先把自己的三颗棋子连成一条线谁就赢。
- 棋盘是 3×3 共九格,双方一人执 X、一人执 O,X 先走。
- 轮流在任意空格里放一颗自己的棋子,棋子放下之后不能移动、也不能吃掉对方的子。
- 横排、竖列、两条对角线,任意一条线上凑齐三颗同色棋子即获胜——全盘一共只有八条可能的胜利线。
- 九格下满仍然没人连成三子,判平局。
本站这个版本的具体设置:
- 两种模式:人机对战和双人同屏(两个人轮流在一块屏幕上点格子)。
- 人机模式可以选择自己执 X(先手)还是执 O(后手),难度分三档:
- 简单——电脑在空格里纯随机落子,连自己能赢都看不见,用来给小朋友练手。
- 普通——能赢就赢、能堵就堵,其余情况随机走。它只看眼前一步,不会算「叉」,所以会被双威胁打败。
- 困难——minimax 完全解,把整棵博弈树算到底,永远不会输,你最好的成绩是平局。
- 本轮比分显示在状态栏下面,记录同一模式下连续对局的 X 胜/O 胜/平局数。点「新一局」比分不清零,切换模式才归零。
- 悔棋:人机模式一次退回两手(你的和电脑的),双人模式退回一手。局面已经分出胜负后不能悔棋,请点「新一局」。
- 人机战绩(胜、负、平)长期累计,存在本机浏览器里。
操作:用鼠标或手指点空格就能落子;电脑上也可以直接按数字键 1~9,按小键盘的布局对应九宫格——7 8 9 是上面一排,4 5 6 是中间一排,1 2 3 是下面一排,空格左上角也标着对应的数字。
技巧
井字棋看着幼稚,但只要对手不是随便乱点,想赢就得靠固定的几套路子。
一、开局先占角,不是先占中。 这是最反直觉的一条。中心格压着四条线、控制力最强,但角格的赢面更大——不是因为角更厉害,而是因为角开局给对手留的活路最窄。把整棵博弈树算一遍就能看到:X 第一手占角,O 只有占中心这一个应手能守和;X 第一手占中心,O 有四个角可选;占边则有四个应手能守和。三种开局对完美的对手都只能和棋,但对普通人来说,占角意味着对手有八分之七的概率当场走错。
二、每一手先做两件事,再考虑第三件。 顺序是死的:① 我这一手能不能直接连成三子?能就走,立刻结束。② 对方下一手能不能连成三子?能就堵住那一格。③ 前两条都没有,才轮到布置自己的进攻。新手输棋十有八九是跳过了第二步,只顾着自己连线。
三、赢棋靠「叉」(双威胁),不靠一条线冲到底。 只造出一个威胁,对方一堵就废了。真正的胜势是一手棋同时做出两条差一格成三的线,对方只有一手,堵不了两边。一条走到底的实例:X 占左上角,O 没占中心、随手走了上边中格;X 接着走左中格(和左上角同一竖列),逼 O 去堵左下角;这时 X 占中心,中间那一横和「左上—中心—右下」那条对角线同时只差一格,O 必输。叉的本质是把子摆在两条线的交叉点上,所以每一手都该问一句:这一格同时压着几条线?
四、后手想守和,记死三条。 ① 对方开局占角,你必须占中心,没有第二个选择。② 对方开局占中心,你必须占一个角(占边就输)。③ 之后每一手仍然按「先赢、后堵」的顺序走,同时要盯住对方正在往哪个交叉点上摆子——等两个威胁一起长出来就已经晚了,要提前一手把那个交叉点占掉;实在来不及,就先摆出自己的两连逼对方回头来堵,用这一手换回节奏。
五、用三档人机做专项训练。 想练「叉」就选普通档:它只堵眼前,双威胁一造就穿。想验证自己的防守是不是真的没漏洞,就选困难档并让自己执 O——只要你能连着和十局,说明上面那三条你已经记牢了。
常见问题
井字棋先手必胜吗?
不是。井字棋是被完整求解过的游戏,双方都走最优手的结果一定是平局。先手确实占优,但那只是「对手更容易走错」意义上的优势:把所有可能的对局穷举一遍,X 赢 131,184 局、O 赢 77,904 局、平 46,080 局,合计 255,168 局——这个统计把双方的臭棋也算了进去。真正会下的两个人对坐,一局都分不出胜负。
困难档的电脑能不能赢?
赢不了。困难档用的是 minimax 完全搜索,每一步都把后续所有分支算到终局再选最优,理论上无懈可击。你能拿到的最好结果是平局。想赢电脑请选简单档或普通档:简单档在空格里纯随机走,普通档只会「能赢就赢、能堵就堵」、不往后算,用一次双威胁就能拿下。
一局井字棋要走几步?
最快第五步就能结束——X 走完第三颗子时如果 O 一直没堵,就直接连成三子。最长九步把棋盘填满。双方水平接近时多半会走到第八、第九步才判平局。整局通常十几秒,所以这一页的「本轮比分」是按连续对局累计的,方便一口气下十把再看结果。
井字棋和五子棋有什么区别?
本质是同一类「先连成一条线」的棋,差别在规模:井字棋 3×3 连三子,八条胜利线,九步之内必然结束,完美对局必和;五子棋是 15×15 的棋盘、连五子获胜,有活三、冲四、四三这些成体系的战术,一局要下几十手。井字棋适合十几秒解决一局,想下点耐嚼的就去五子棋。同属棋类的还有黑白棋,规则是吃子翻转、终局比子数,和这两种连线棋是完全不同的思路。更多可以看棋类分类页。
手机能玩吗?能两个人一起玩吗?
能,手机浏览器打开这一页直接点格子就行,九宫格会跟着屏幕宽度自适应(数字键角标是给有键盘的电脑准备的,手机上不显示)。两个人玩就选双人同屏模式,轮流点同一块屏幕,一台手机足够。本站没有联网对战,双人玩法都是同屏进行;更多两人玩的可以看双人游戏分类,比如双人乒乓。
历史与冷知识
- 三连棋的雏形非常古老。古罗马有一种叫 terni lapilli 的三子棋,双方各持三枚棋子,摆完之后靠移动棋子来凑成三连——罗马城的地砖和石板上至今还能找到划出来的棋格。
- 英式英语里井字棋叫 noughts and crosses(零与叉),美式叫 tic-tac-toe;中文除了「井字棋」,也常叫三子棋,因为棋盘的四条线正好是一个「井」字。
- 1952 年,剑桥大学的 A. S. Douglas 在 EDSAC 计算机上写出了 OXO,一个能和人对下井字棋的程序。它是电子游戏史上最早的作品之一,也是最早把画面输出到显示器的电子游戏之一——而它当初只是一篇研究人机交互的博士论文的附属演示。
- 1983 年的电影《战争游戏》(WarGames)让井字棋成了流行文化符号:主角最后让军用超级计算机反复自我对弈井字棋,逼它自己算出「这游戏无论怎么下都赢不了」,从而领悟到核战争同样是一场没有赢家的游戏。
- 不考虑对称性,井字棋一共有 255,168 种完整对局(X 胜 131,184、O 胜 77,904、平局 46,080)。把旋转和镜像等价的局面合并之后,本质不同的对局只剩下两万多种,本质不同的局面只有 765 个——正因为小到能全部装进内存,它才成了教科书里讲 minimax 和博弈树的标准例子。
- 1961 年,英国人 Donald Michie 用三百多个火柴盒搭了一台会下井字棋的「机器」MENACE:一个盒子对应一个局面、盒里的彩色珠子对应候选着法,赢了往盒里加珠子、输了拿走——这是强化学习最早的实物模型之一。