2018年1月11日 星期四

[遊戲] "暗棋王"的翻棋策略

Android 版本
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. "炮"隔子翻棋
"炮"不能直接吃任何隔壁棋子,但如果隔一棋子,它可以吃任何一顆棋,而且距離不限,如下圖:
"炮"可以吃A,B,C三顆棋,紅方可以翻這三顆棋,如果是黑棋,下一輪就可以吃掉它們,
然而,如果翻出的剛好是"包","炮"反而會被吃掉,紅方不可一廂情願,
但如果如上圖中"炮"旁邊有一顆"俥",這時就可以肆無忌憚的翻ABC三顆棋,就算翻出"包",頂多同歸於盡

4. 防止被"包"吃
"包"隔子可吃任何棋,如果己方的棋要被"包"吃了,怎麼處理呢?
如果是如下圖的情形:

紅方可以翻ABC任何一顆棋,如果翻出"帥""仕""相""俥""傌"等棋子,就可以間接達到保護紅"仕"的作用,當然,如果黑方認為用"包"去換"仕"是值得的,那黑方還是會照吃。
如果是下圖的情形:

"包"往下走一步就可以吃紅"仕",紅方可以翻DEF三個位置的棋子,如果翻出"帥""仕""相""俥""傌"等棋子,就可以直接達到保護紅仕的作用,當然,紅方還是可以翻ABC位置的棋,如上段所提,可以間接保護紅"仕",選擇翻AC二處還有一個作用,如果是黑棋,比紅"仕"小的話,紅"仕"吃它就可以逃離"包"的威脅,翻到"將""士"也沒差,反正紅"仕"本來就快可了

5. "包"隔壁翻棋
"包"無法吃任何隔壁棋子,所以我們可以直接在"包"旁邊直接翻棋,反正翻出來的棋一定不會死,反之,如果翻出的棋可以吃掉"包",那就賺到了,因為"包"的威力很強

6. 保護性翻棋
如下圖左方,"仕"要被"將"吃了:

紅方可選擇翻ABC三個位置的棋,如果剛好翻到"兵",可達到間接保護"仕"的作用,因為"兵"有好幾顆,翻出機率大,有時可以做這樣的賭注,不過,還是有不小的可能會翻出其它紅棋,這樣便會讓"將"有連吃的機會。另外如果紅方"炮"還在,可選擇翻D處,這種翻法是最安全的,翻到"炮",可間接保護仕,翻到其它紅棋也不會被"將"吃掉,
如果是如上圖右方,"帥"要被"卒"吃了,紅方一樣可選擇翻GEF或H處的棋,不過,這種情形下間接保護的作用就不大了,因為不管翻到什麼棋,黑方一定會選擇了吃了"帥"再說,死一顆"卒"無所謂

2018年1月8日 星期一

[ 遊戲 ] 暗棋王 手遊APP

Android 版本
iOS 版本

“暗棋”,或者有人稱為”半棋”或”半盤”,是一個很受歡迎的棋盤遊戲
它很簡單且好玩,只要幾分鐘就可以玩完一局。
如果您想獲得勝利,您同時需要運氣和策略。
不管大人或小孩,都可以輕鬆享受這個遊戲。

本軟體的特色如下:
◎ 內建人工智慧(AI),您可以享受個人與電腦對打的樂趣
◎ 可以選擇不同的難度
◎ 提供個人戰績的統計資料
◎ 支援單人模式(和電腦玩)和雙人模式

暗棋的翻棋策略常常會影響勝負,
何時該翻?要翻那裡?
翻棋的結果又有點靠運氣,
這些變化都是暗棋特殊的樂趣。

雖然程式已多方考量,但畢竟人工智慧還是沒有人類聰明,
如果有需要改善的地方,也歡迎多多指教!

期待您一同加入暗棋玩家的行列…