经纬世界游戏 · 打开即玩
卡拉哈播棋棋盘与棋子插画

播棋

卡拉哈播棋

沿环形棋坑播种,利用额外回合和对吃把更多棋子收入自己的粮仓。

THE WORLD AT PLAY · PLATE NO.12 / 38

怎样算赢把比对手更多的棋子收进自己的粮仓。任意一方六个坑全空时对局结束,双方把自己一侧的余子收进各自粮仓,全场 48 枚,先过 24 枚的一方获胜,24 比 24 为和棋。

棋种小传

它从哪里来,为什么长成今天这个样子。

设计William Julius Champion Jr. · 1940 年代美国

它不是非洲传统游戏

很多人默认 Kalah 是古老的非洲播棋,其实不是。它是 1940 年代美国人 William Julius Champion Jr. 设计并申请专利的商业游戏,1950 至 60 年代在美国校园里作为教具大量推广。播棋家族确实古老,但 Kalah 是这个家族里一位相当年轻的、被刻意简化过的成员——真正的传统竞技播棋,是隔壁那款 Oware。

两条规则,全部为了「快」

Champion 的改动可以概括成两条:加一个粮仓,末子落进粮仓可以再走一次;末子落进自己一侧的空坑就对吃。前者制造连续行动的爽感,后者制造一次性的大收获。传统播棋往往要绕好几圈才见分晓,Kalah 把节奏压缩到几手之内——这是一款为教学和零售设计的播棋。

代价是:它被算穿了

简化换来了可解性。2000 年前后,Geoffrey Irving 等人用检索式搜索完全解出了多个规格的 Kalah,包括最常见的每坑 4 子的 6 坑局:先手必胜。这意味着 Kalah 在严格意义上已经没有竞技悬念,它的价值转向了教学——它至今仍是讲解博弈树搜索、极大极小与 α-β 剪枝最常用的入门例子之一。

为什么连走链是它的全部

理解 Kalah 只需要一个算术:一个坑距离粮仓 n 格、里面正好有 n 枚棋,末子就会落进粮仓,于是你再走一次。高手做的事情就是把若干个这样的坑串起来,一个回合走三四次,顺带把分布重新洗成下一段连走链。开局那个距粮仓 4 格、恰好装 4 枚的坑,正是这条链的标准起点。

  • 播棋(mancala)不是一款游戏,而是一个家族的统称,分布横跨非洲、中东、南亚与东南亚,玩法数以百计。
  • 对吃只在「自己一侧的空坑」成立——这是 Kalah 与其它播棋最容易混淆的一条,Oware 的收获机制和它完全不同。
  • 结算时双方各自把自己一侧的余子收进粮仓,所以主动清空自己一侧未必划算,要先比一比对手侧还剩多少。

完整规则

先把一回合能做什么、怎样获胜弄清楚。

棋盘
双方各 6 坑与 1 个粮仓
开局
每坑 4 枚,共 48 枚
  1. 胜负条件全场共 48 枚棋子,最终会全部落进两个粮仓,自己粮仓里的数量多于对手即获胜。所有播种、连走和对吃,目的都只是把更多棋子搬进自己的粮仓。
  2. 选一个己方非空坑,取出其中全部棋子,沿逆时针方向逐坑放下一枚。
  3. 经过自己的粮仓时要放进一枚;经过对方粮仓时必须跳过,不放。因此对你来说绕一整圈是十三个落点,而不是十四个。
  4. 最后一枚落进自己的粮仓时立刻再走一次,而且可以连续触发,一个回合因此可能包含好几次播种。
  5. 最后一枚落进自己一侧原本是空的坑时(落下后该坑正好 1 枚),把这一枚连同正对面那个对方坑里的全部棋子一起收进自己的粮仓。正对面的坑是空的则不发生对吃,那一枚留在原地。
  6. 对吃只在自己一侧的空坑成立末子落进自己一侧的非空坑、或者落进对方任何一个坑,都不触发对吃。
  7. 任意一方的六个坑同时全部清空时对局结束,双方各自把自己一侧剩下的棋子收进自己的粮仓,粮仓多的一方获胜,24 比 24 为和棋。

第一次这样下

按这个顺序思考,很快就能完成一盘。

  1. 先数清手里的棋子数,再沿播种方向逐坑数到最后一枚。只有最后一枚的位置决定有没有连走和对吃,中间落点只影响之后的局面。
  2. 找连走有固定算法一个坑距离自己粮仓 n 格、里面正好有 n 枚棋子时,最后一枚就会落进粮仓。开局时距粮仓 4 格的那个坑正好有 4 枚,是标准的连走起手。
  3. 找对吃的关键是己方的空坑空坑是钩子,只要能让最后一枚正好落进它,而它正对面的对方坑又很厚,一手就能收走一大把。
  4. 每手走完之前,用同样的方法把对手的六个坑各数一遍,看他下一手能不能连走,或者能不能对吃你的厚坑。
  5. 正对面的配对关系固定不变,就是界面上下垂直对齐的那两个坑。由于两排的播种方向相反,你离自己粮仓最远的那个坑,正对着对手离他粮仓最近的坑;你离自己粮仓最近的坑,正对着对手离他粮仓最远的坑。记熟这层镜像关系能省下大量计算。

实战策略

从会走升级到有计划地走。

  • 靠近粮仓的几个坑是节奏库,先用它们凑出连走,再用连走后的新分布制造下一段连走链,一个回合走三四次并不罕见。
  • 自己空坑的正对面堆着大量棋子时,对手会想尽办法把那个坑播空;反过来,你也要避免在自己空坑的正对面把棋子养厚。
  • 有时放弃眼前的小对吃更划算把一个坑继续留空当钩子,等对方那一侧堆厚之后再收,一次的收益能抵好几手。
  • 离粮仓最远的坑是启动大范围播种的引擎,长期囤积可以在关键时刻一次性跨过整排,同时改写双方两侧的分布。
  • 结算时对手会把自己一侧的余子全部收进他的粮仓,所以主动清空自己一侧只有在领先幅度超过对手侧余子总数时才划算;落后时反而要拖住局面,避免提前触发结算。

胜负与特殊规则

容易漏掉、但会直接改变结果的细节。

  • 一个回合可能因为反复落进粮仓而包含多次播种,界面会依次播放每一次播种动画,计数器把每一次播种都算作一手。
  • 触发结算的条件是任意一方六坑全空,包括你连走到最后把自己这一侧播空的情况;此时即使你还握着再走一次的权利,对局也直接结束。
  • 全场四十八枚棋子最终会全部进入两个粮仓,因此总有一方过半,也可能出现 24 比 24 的平局。
  • 播种方向、跳过对方粮仓、连走判定和对吃判定这几条,界面、AI 搜索与大师提示共用同一份规则实现。

常见失误

新手最容易掉进去的几个坑。

  • 忘记跳过对方粮仓,把整条落点算错一位,连走和对吃的判断随之全错。
  • 以为落进任何空坑都能对吃,其实只有自己一侧的空坑算数,落进对方的空坑什么也不会发生。
  • 只盯着自己这一手能进多少枚,没检查这一手会不会顺手把某个坑填成对手的连走起点。
  • 把 Oware 的规则混进来,以为末子在对方坑里凑成 2 或 3 枚能收获。Kalah 没有这条,也没有喂子义务。

与 AI 下一盘卡拉哈播棋,现在就开局

立即开局