國際象棋規則 - 如何玩
認識本遊戲實作的合法走法、將軍、王車易位、吃過路兵、升變、將死、逼和與和棋。
棋盤、開局與目的
國際象棋在8×8棋盤上進行。白方底線依序是車、馬、象、后、王、象、馬、車,前方有八兵;黑方鏡像配置。白方先走,雙方輪流走一著合法棋。目的不是吃掉國王,而是將死:國王被攻擊且沒有合法解法。本實作會排除所有讓己方國王仍被攻擊的走法,所以即使能贏棋子,只要會露出己王也不能走。
每種棋子的走法
車走橫直線,象走斜線,后兼具兩者,途中都不能跨過棋子。馬走日字,可越過任何棋子。王平時往任一方向走一格,易位是例外。直線棋子遇到己子就停止,第一枚敵子可以吃但不能越過;不能落到己子所在格。打開一條車線或象線,常會同時改變攻擊與王的安全,落子前應檢查整段路徑。
兵、吃子與升變
兵向前走一格到空格;在起始橫線時,若中間和終點都空,可走兩格。兵不能直吃,只能向前斜一格吃子。兵到最後一橫線必須升變為后、車、象或馬,場上原有同類棋子不限制升變。兵第一次走兩格會建立吃過路兵目標,本引擎會保存這個資料。判斷王能否走到某格時,必須區分兵斜向攻擊的格與兵直向能前進的格。
將軍、易位與吃過路兵
王被攻擊就是將軍。必須移王、吃掉攻擊子,或在可阻擋的線上插子解除;讓己王繼續受攻擊的走法不合法。王車易位把王朝一個車移兩格,車移到王旁。相關權利仍在、兩者之間無子、王未被將軍、王經過與到達的格都沒被攻擊,才可易位。吃過路兵只限於緊鄰敵兵剛走兩格後的下一手,己兵把它當作只走一格來吃。
終局與和棋
被將軍且沒有合法走法是將死;沒有合法走法但王未被將軍是逼和,屬於和棋。本實作在100個半回合沒有兵移動或吃子後,依五十回合規則和棋。王對王,或王加單象或單馬對王,也是已實作的子力不足和棋。對局還以棋盤、輪到誰走、易位權和吃過路兵目標組成局面鍵追蹤三次重複;棋面看起來相同但權利不同,並非同一局面。
常見問題
- 被將軍時還能走嗎?
- 只能走解除將軍的手;留下己王受攻擊的走法都不合法。
- 兵可以升變成什麼?
- 后、車、象或馬。
- 可穿越被攻擊格易位嗎?
- 不可以。王不能在被將軍時易位,也不能經過或停在被攻擊格。
- 何時能吃過路兵?
- 緊鄰敵兵走兩格後的下一手,錯過就不能再吃。
- 遊戲有哪些和棋?
- 逼和、五十回合計數、已實作的子力不足和對局追蹤的三次重複。
在棋盤上練習
每一步先檢查己王受攻擊的線,再比較全部合法應手。