十二种阵形,两种兵
兵的走法就是整个设计空间;兵有多少、从哪里起步、兵阵是什么形状、用哪一种无吃子步数限制,都只是旋钮。我们把它们全都转过了:18 到 45 个兵,兵阵靠后、前移一行、或者一开始就在河对岸,原版的轮廓,象棋原有的五个兵位。两种兵的走法:象棋自己的兵,向前一步、过河后才能横走;老兵,从第一步起就有过河兵的走法。每种阵形都由 Fairy-Stockfish 自战,四种搜索量各一局,由一个事先已与引擎在每一步合法着法上达成一致的规则内核担任裁判。
标准兵:车从背后吃光兵团
标准兵只控制正前方一个点,所以兵团是九根纵列,而不是一堵墙。哪一列一空,车就顺着它落到底线,从背后每着吃一个兵,而兵团里没有任何子能向后攻击。40 兵及以下、从己方半场开始的每一种阵形都是这样输的,四局全输。只有五行厚的 45 兵阵,或者一开始就在河对岸的阵形,有时能在车吃完之前把足够多的兵送过河,那几格的结果才分化。
老兵:兵团守得住,围城是和棋
让兵团的每个兵从开局起就有过河兵的走法,路就堵上了:一列老兵攻击身边的点,车不能白白停在它旁边。兵团成了一方棋。势均力敌之间,棋局成了围城:兵团推进到九宫前,发现一个将带着双车在等,然后停住,因为兵阵站在原地时能互相保护,却只能整行一起推进,而全军在一旁等着。四十八局:37 和,兵团 6 胜,全军 5 胜,五胜全是对 18 兵。
兵团占优的唯一阵形是同一场围城加一个更好的比分,不是另一盘棋:四百到一千步里,全军的最佳计划是待在九宫里等,兵团的最佳计划是把兵阵一格一格地挪。
换一种兵需要什么
国际象棋的兵斜着吃子,所以后面的兵保护着邻兵要走到的点,兵成链推进;部落棋在国际象棋里成立就是这个原因。象棋的兵怎么走就怎么吃,直着向前,所以兵要走到的点没有任何子保护,河就是一道悬崖:路上毫无掩护,到了那边掩护全面。兵数、起始行、阵形、无吃子限制都改变不了这一点。能改变它的是一种在路上有掩护的兵,候选从斜向前吃子,到第一步走两格、每回合走两个兵,直到干脆用国际象棋的兵。我们止步于老兵,因为它是唯一象棋本来就有的;其余每一种都是新棋子,也就是另一盘棋。
我们发布的是什么,而不是一个对局页面
含两种兵的走法和全部十二种阵形的规则内核、Fairy-Stockfish 的变体配置、全部 387 盘引擎对局、它们背后的各项检验,以及一个不需要引擎、半分钟内就能对照规则重放每一盘并重新计算统计的校验器。如果你有一种能给兵阵路上掩护的兵的走法,下一次尝试就从那里开始;去那里提一个 issue,文章会如实写明。