每次吃子都是一次爆炸。被吃的子、吃子的子,以及吃子點旁邊四個點上的所有棋子全部消失。卒兵能倖存,將帥不能。

所以有兩個子你永遠吃不得:任何站在自己將帥旁邊的子。而敵方將帥旁的兩個士,就是整盤棋的關鍵所在,因為誰在這兩點上吃子,誰就立刻取勝。

這是什麼

原子象棋(中國象棋) 就是把原子棋的爆炸放進中國象棋。我在 2026 年把它改編到 9×10 的棋盤上,作為 Mistboard 的原創玩法;就我所能查到的,先前沒有人把爆炸規則放到象棋盤上。它現在已在 Mistboard 上線,可對戰八個引擎等級或朋友,用普通棋具、普通開局擺法就能下。

原子棋始於 1995 年的德國網路西洋棋伺服器,規則由 Klaus Knopper 從實地對局的朋友那裡蒐集而來。Lichess 在 2015 年加入了它,2021 年在站上下了 490 萬局。在西洋棋盤上,它是一種充滿棄子與早期獵王的棋,白方的先手優勢比西洋棋大得多。在象棋盤上,結果則不一樣,相關數據放在文末。

規則

吃子會移除吃子的子、被吃的子,以及吃子點正交相鄰四個點上的每一個子。斜向相鄰的點不受影響。

車吃馬楚 河 漢 界爆炸之後楚 河 漢 界
紅方的車吃 e6 的馬。車、馬,以及旁邊兩個點上的車和炮全部消失。

卒兵能倖存爆炸。卒兵只有在自己被吃時才會離開棋盤,不過卒兵若去吃子,也和其他子一樣爆炸。

車吃馬楚 河 漢 界兵卒留下楚 河 漢 界
紅方的車吃 e5 的馬。f5 的炮消失;d5 和 e6 的兵卒同樣在線上,卻留了下來。兵卒自己吃子時,也和其他子一樣爆炸。

將帥無法倖存爆炸。吃掉敵方將帥旁邊的子就立刻取勝;吃掉自己將帥旁邊的子則不是合法著法,所以將帥永遠不吃子。開局時每一方的將帥旁都有兩個士仕,那正是整盤棋的關鍵點。

車吃士:紅方勝楚 河 漢 界這個吃子不是合法著法楚 河 漢 界
d9 的車可以吃士,而這就結束了對局:爆炸波及 e10 的將。f2 的車不能吃馬,因為爆炸會波及紅方自己 e1 的帥。

炮的吃子是唯一的例外:它只移除炮本身和它的目標。目標旁邊的子不受影響,炮所跳過的炮架也不受影響。

炮吃 e7 的馬楚 河 漢 界只有這兩個子楚 河 漢 界
炮的吃子是唯一不爆炸的吃子。e2 的炮跳過 e4 的兵,吃掉 e7 的馬;目標旁邊 d7 的車和 f7 的炮毫髮無損,被跳過的兵也是。

其餘一切都和象棋相同,只有一個詞的範圍放寬了:只要對手下一著能以任何方式移除你的將帥,你就處於被將的狀態,所以一隻車瞄著你將帥旁的士仕就算將軍,棋盤也會如此判定。這對象棋的長將規則很重要,該規則依然有效。規則頁面 把這些整理在一處,並附一局示範對局。

為什麼炮是例外

第一版的炮和其他子一樣會爆炸,引擎對局找出了兩個問題。第一是威力太大。從開局擺法起,每隻炮都能跳過對方的炮、吃掉其後的馬,並炸掉旁邊的車和象相,第一著就吃掉三個子,而每一局雙方最佳著法的對局都是雙方一開始就這麼下。

1. Cxb10,隔著黑方的炮楚 河 漢 界1...Cxh1,原樣奉還楚 河 漢 界
當炮也和其他子一樣爆炸時,每一盤引擎對局的開局都是這樣。每門炮跳過對方的炮,落在馬上,把馬連同旁邊的車和象一起炸掉;炮自己也沒了。兩翼各是三子換一子,雙方都還沒來得及有任何計畫。

第二是一個求和手段。一隻車落在士仕所在的直線上,就威脅炸掉將帥;唯一的解法是用炮堵在該線上;而在炮會爆炸的情況下,這一堵同時也是隔著車回打對方自己士仕的一手,於是車只能跳到另一條士仕線上,炮跟著過去,局面重複。防守方永遠無法拒絕,在引擎對局裡,少了一隻車的一方就能用這種方式對抗遠強於它的對手而守和。

2. Rd2 威脅 Rxd10楚 河 漢 界2...Cxd1 先到:絕殺楚 河 漢 界
三步速攻,以及它為什麼失敗。紅方 d2 的車正要吃 d10 的黑士,把將炸掉。可是炮吃子要正好跳過一個子,而 d2 的車恰好就是 d8 的炮和紅方自己 d1 的士之間唯一的那個子。黑方先開火:士、車和 e1 的帥一起消失。

要消除這兩點需要兩條規則,而且缺一不可。炮的吃子不爆炸,這終結了開局大屠殺,也讓那一堵仍然成立但不再有殺傷力。而威脅炸掉將帥算作將軍,這使剩下的跳動變成單方面的長將,依照象棋自己的規則,發出長將的一方判負。兩條規則到位後,引擎寧願在落後三分之一個兵值的情況下繼續下,也不接受和棋,而炮得到了它原本沒有的任務:它能堵住車而不威脅車,於是持車的一方得自己想出計畫。

一局示範對局

對局比象棋更短、更激烈。在強引擎對弱引擎的十局有勝負的對局中,六局以將帥被炸掉結束,四局以將死結束,最短 23 回合,最長 73 回合。開局仍然像象棋,因為先動手的一方要為第一次爆炸付出代價;引擎會走 Cb5、Ri3、Ra3 或 Hg3,第一次爆炸出現在中局。

這是最短的一局:Fairy-Stockfish 以一千萬節點執黑,對戰一百萬節點的自己。紅方的帥在第 6 回合走進九宮的角上,第 8 回合一隻馬吃掉一隻馬和旁邊的炮,最後一著是車吃掉將旁的士,這也是這裡多數對局的收尾方式。

卒兵值得再看一局。它能倖存每一次爆炸,所以它是唯一能站在爆炸旁邊而留下來的子;它同時也是最便宜的吃子工具,因為吃子的一方反正都會消失。這裡有一個兵正要吃 c9 上的車。往前一步:車、c10 上的象和 c8 上的馬全部消失,代價只是一個兵。

引擎對局說明了什麼,又說明不了什麼

每一局都由一個規則核心裁判,並由修補過的 Fairy-Stockfish 對下,兩者必須在每一個著數統計上一致,才能採用任何數據。在這套規則下,強引擎在兩種強度差距、共 32 局中勝 29 局,無一敗;開局擺法下的 44 種首著中,在雙方各一百萬節點的條件下,沒有一著能讓紅方取勝,有三著會輸;而記錄在案的 19 局重複和棋中,沒有一局是單方面將軍。雙方最佳著法下仍是和棋,這是棋類遊戲的常態。與第一版的差別在於,這些和棋裡沒有必然的強制著法線路。變體實驗室 裡有規則核心、修補程式,以及每一項數據背後的指令。

引擎說明不了的,是人與人之間下起來是什麼感覺。實力相當的人會不會磨到底(在低節點數下,實力相當的引擎八局中有四局和棋),象棋玩家能不能接受一隻只會兌子和堵線、不再掃清一路的炮,以及「車瞄著你的士仕線就是將軍」是不是一條要輸一次才學會的規則:這些只有人能回答。如果你找到強制線路,寄給我,我會署名加在這裡。