Play Xiangqi

象棋規則

象棋走在線上,不走在格子裡。棋盤九條直線、十條橫線,可以落子的點一共九十個。紅方先走,之後雙方輪流。

下面每一張圖,都是由本站判棋的同一套程式畫出來的,圖上點出來的位置就是它真的允許的著法。萬一哪天圖和規則對不上,這個網站根本建不起來。

開局的擺法。紅方在下方,而且紅方先走。

棋盤、河界和九宮

棋盤上有兩處會改變棋子的走法,所以先講它們,再講棋子。

棋盤上其他地方都不擋路。象棋沒有王車易位,沒有吃過路兵,也沒有任何升變。

一眼看完

棋子怎麼走受什麼限制
帥/將直走一點不出九宮
仕/士斜走一點不出九宮
相/象斜走兩點不過河、塞象眼
傌/馬先直一點再斜一點直的那一點被擋
俥/車沿線走,遠近不限不受限
炮/砲走法同車,隔子吃要有砲架
兵/卒向前走一點不能後退

將帥(帥/將)

將帥每次走一點,上下左右都可以,而且永遠不出九宮。它完全沒有斜走這回事,所以站在九宮正中央時是四個點,不是八個。

e1 的帥有四個點可以去。九宮裡畫的那兩條斜線不是它能走的路。

將帥被吃就輸了。它還受一條西洋棋裡沒有的規矩管著 — 見下面兩個將帥不能照面。

仕士(仕/士)

仕士和將帥正好相反:它斜走一點,一樣關在九宮裡。將帥加上兩個仕士,一整盤棋能踏到的就只有那九個點。

從九宮正中央,仕可以去四個角。站在角上,它就只能回到中央。

仕士是守子。早早把它們調離原位幾乎都不划算 — 兩仕盡失的將帥,要殺就容易多了。

相象(相/象)

相象斜走剛好兩點,走的是一個「田」字,而且永遠不能過河。它只守自己這半邊,別的做不了。

站在自己這半邊中間的相有四個點,每一個都在斜線上兩步遠。

它也會被擋。斜線正中間那一點只要有子 — 紅黑都算 — 相就走不了那一步。棋手把這個叫塞象眼。

田心上一個兵,就拿掉四條路裡的一條。那個兵是誰的都一樣。

傌馬(傌/馬)

傌馬先直走一點,再往外斜走一點 — 和西洋棋的騎士走同樣的 L,落點也一樣。不同的是象棋的馬不會跳。

在空曠的棋盤上,馬有八個點可以去,和騎士一模一樣。

擋在直走那一點上的棋子,會把從那裡起步的兩條路一起封掉。這叫蹩馬腿,也是新手最常弄錯的一條:擋住的子是貼著馬上下左右的那一個,絕不是斜角上的。

馬正上方一個兵,就從八條路裡拿掉兩條 — 正是要從它身上起步的那兩條。

俥車(俥/車)

俥車沿著橫線或直線走,遠近不限,吃掉路上碰到的第一個子。它就是西洋棋的城堡,也是盤面上最強的子,而且強得很明顯 — 大約值兩個馬。

空棋盤的正中央,車有十七個點可以去。

棋盤空的地方比擠的地方多,車很早就有直線可以走。比對方早一步把車開出來,開局的道理大半就在這裡。

炮砲(炮/砲)

炮砲是西洋棋裡找不到對應的子。它走的時候像車,沿著線走多遠都行,但只能走過空點。吃子的方式則是獨一份:必須剛好跳過一個子 — 紅黑都算 — 吃掉那個子後面最近的一個。

炮可以隔著 e5 的兵,吃掉 e7 的車。那個兵它反而吃不到 — 中間沒有東西可以隔。

被跳過的那個子叫砲架。少一個不行,多一個也不行,所以炮在空曠的盤面上最兇,在擠成一團的盤面上幾乎沒有威脅 — 和其他每一種子正好相反。

兵卒(兵/卒)

兵卒 — 西洋棋裡對應的是士兵 — 向前直走一點,吃子也是同一個方向。沒有第一步走兩格,沒有斜吃,也沒有升變。

還沒過河的兵只有一步棋可走:向前。

過了河就不一樣。從此它也能左右各走一點,能做的事大約多了三倍。但它永遠不能後退,所以深入對方陣地的兵,是一步收不回來的棋。

同一個兵過河之後:向前或左右,一共三個點。就是不能回頭。

兩個將帥不能照面

兩個將帥若落在同一條直線上,而且中間一個子都沒有,這個局面就不合規則。你不能走出這樣的棋,會造成照面的著法也根本不在選項裡。

e5 的馬是兩將之間唯一的子,所以它一步合規則的棋都沒有 — 程式一個點也不會給。

棋手把它叫白臉將。這不是什麼冷門花招:它是會贏殘局的 — 直線一空,自己的將帥就成了一個攻子。

將軍、將死和無棋可走

攻擊對方的將帥就是將軍,被將軍的一方一定要應。應不出來就是將死,那一方輸。

接下來這一條,每個西洋棋棋手都會意外:一步合規則的棋都走不出來,就是輸。不是和。沒有被將軍卻什麼子都動不了的一方,這盤棋算輸,叫困斃。西洋棋裡那是逼和、各拿半分;象棋裡是輸掉整盤。

一盤棋怎麼結束

怎麼結束結果
將死該走的一方負
無棋可走該走的一方負
一方長將長將的一方負
雙方都沒有過錯而局面重複和棋
一百個半回合沒有吃子和棋
認輸或超時該方負

長將是第二個意外。西洋棋裡一直照將下去是和棋,還常常是救命的手段。象棋裡那是照將的一方輸,前提是只有他一方不肯變著。

判定依哪一本規則

本站的判定依 2018 年世界象棋規則(WXF)。有四點值得直說,因為那本規則書自己就前後不一致,而且我們寧可把缺口講明白,也不想含糊帶過。

這裡的判定若和裁判不同,以裁判為準 — 也請告訴我們一聲。想下了嗎?開一副棋盤,或是解一題殘局。完全沒下過?先看怎麼玩。