确保着法合规:象棋通用规则解析
生活随笔
收集整理的這篇文章主要介紹了
确保着法合规:象棋通用规则解析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
到現在為止,我們的象棋游戲能支持玩家與云庫引擎正常地交替下棋了!但現在的游戲沒有細致的規則限制,玩家可以不按照中國象棋的規則行棋。本節我們需要限制用戶的行棋動作,遵循象棋游戲的通用規則。
本節概要
- 中國象棋游戲規范介紹
- 實現可行著法枚舉工具類
- 實現著法合法性檢查工具類
- 應用著法合法性檢查
中國象棋游戲規范
中國象棋游戲規范
知道大家都不愛看文檔,所以我簡單地把行棋的規則和一般的輸贏判斷規則列舉一下。
著法合法性檢查規則:
- 車走直線、馬踩日,炮打翻山、象飛田,兵卒過河左右走,仕象不離老將邊;
- 行棋著法不能吃已方棋子;
- 車只能在一條線上走子,直到遇到第一個障礙棋子,如果棋子是敵方的,可以吃掉它;
- 馬走一個日字,但有「蹩腿」的行動限制;
- 象走一個田字,不能過河界,且有被「填心」的行動限制;
- 炮可以在一條直線上走子,直至遇到第一個障礙棋子,如果越過障礙棋子后在直線上遇到的第一個棋子是敵方棋子,可以吃掉它;
- 兵卒在沖過對方的河界之前,只能一次向前行走一步,過了敵方河界以后,可以向前方或左右方向行走一步;
- 一步著法過后,不能造成雙方的老將對面,即兩方老將都在同一列,且中間無格擋棋子;
勝負檢查判定方法:
- 如果無論已方走什么可行著法都無法解除對方下一步對已方老將的攻擊,則表示已方已經輸了;
- 如
總結
以上是生活随笔為你收集整理的确保着法合规:象棋通用规则解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第5章 Python 数字图像处理(DI
- 下一篇: 哪里学php开发,哪里学web开发