iOS 版本
暗棋是一個深受台灣人喜愛的象棋遊戲,
除了實力外,運氣的好壞也會影響到輸贏,
暗棋的手遊不少,最受人攻擊的點就是有沒有作弊之類的,
以下就"暗棋王"APP開發過程中所考量的翻棋策略做小小的探討,
當然,也期待更多的高手先進多多指教,
讓"暗棋王"的程式演算法更加進步。
以下範例以電腦是紅棋,對手(玩家)是黑棋來講解...
1. "兵"旁邊翻棋
"兵"是所有棋子最弱的,幾乎所有棋子可以吃它,所以在它旁邊翻棋其實是很危險的,有極有的機會害它被對方吃掉,
然而,它也是最強的,因為只有它可以吃"將",
有些玩家會在"兵"旁邊直接翻棋,如果剛好翻到對方的"將",那就賺到了,如果沒翻到,大不了損失一隻"兵",影響不大,不過,已經死了幾隻"兵",這種策略就不適合,萬一"兵"全死光了,對方的"將"可能就會無敵
2. "帥"旁邊翻棋
"帥 "是棋子裡最強的,所以在它旁邊翻棋,有機會可以一路吃下去,
然而,常常事與願違,偏偏旁邊翻出的是一隻 "卒 ",這也是暗棋王常常被說作弊的主因, "帥 "旁邊是 "卒 "的機率太高了,
讓我們從數學機率來解釋好了,
如果 "帥 "是位於棋盤4個角,它旁邊會有2顆棋子, "卒 "有5顆,所以 "帥 "旁邊有 "卒 "的機率是2*(5/31),棋盤有4個角,所以總機率是2*(5/31)*(4/32),約0.040,也就是4%,
如果 "帥 "是位於棋盤邊上,它旁邊會有3顆棋子, "卒 "有5顆,所以 "帥 "旁邊有 "卒 "的機率是3*(5/31),棋盤邊上的位置有16個,所以總機率是3*(5/31)*(16/32),約0.242,也就是24.2%,
如果 "帥 "是位於棋盤中間,它旁邊會有4顆棋子, "卒 "有5顆,所以 "帥 "旁邊有 "卒 "的機率是4*(5/31),棋盤中間的位置有12個,所以總機率是4*(5/31)*(12/32),約0.242,也就是24.2%,
將以上所有可能加總0.040+0.242+0.242 = 0.524,也就是52.4%,
換句話說, "帥 "旁邊是 "卒 "是機率約5成左右,機率很高,所以不建議在 "帥 "旁邊直接翻棋,除非 "卒 "已經全死光了^^,
以上的機率是用概估的方式,如有錯誤,歡迎更正
3. "炮"隔子翻棋
"炮"不能直接吃任何隔壁棋子,但如果隔一棋子,它可以吃任何一顆棋,而且距離不限,如下圖:
然而,如果翻出的剛好是"包","炮"反而會被吃掉,紅方不可一廂情願,
但如果如上圖中"炮"旁邊有一顆"俥",這時就可以肆無忌憚的翻ABC三顆棋,就算翻出"包",頂多同歸於盡
4. 防止被"包"吃
"包"隔子可吃任何棋,如果己方的棋要被"包"吃了,怎麼處理呢?
如果是如下圖的情形:
紅方可以翻ABC任何一顆棋,如果翻出"帥""仕""相""俥""傌"等棋子,就可以間接達到保護紅"仕"的作用,當然,如果黑方認為用"包"去換"仕"是值得的,那黑方還是會照吃。
如果是下圖的情形:
"包"往下走一步就可以吃紅"仕",紅方可以翻DEF三個位置的棋子,如果翻出"帥""仕""相""俥""傌"等棋子,就可以直接達到保護紅仕的作用,當然,紅方還是可以翻ABC位置的棋,如上段所提,可以間接保護紅"仕",選擇翻AC二處還有一個作用,如果是黑棋,比紅"仕"小的話,紅"仕"吃它就可以逃離"包"的威脅,翻到"將""士"也沒差,反正紅"仕"本來就快可了
5. "包"隔壁翻棋
"包"無法吃任何隔壁棋子,所以我們可以直接在"包"旁邊直接翻棋,反正翻出來的棋一定不會死,反之,如果翻出的棋可以吃掉"包",那就賺到了,因為"包"的威力很強
6. 保護性翻棋
如下圖左方,"仕"要被"將"吃了:
如果是如上圖右方,"帥"要被"卒"吃了,紅方一樣可選擇翻GEF或H處的棋,不過,這種情形下間接保護的作用就不大了,因為不管翻到什麼棋,黑方一定會選擇了吃了"帥"再說,死一顆"卒"無所謂