當前位置:編程學習大全網 - 圖片素材 - 五子棋高級算法

五子棋高級算法

我也想看,呵呵,wawacry@qq.com

這個對五子棋比較精通才能寫好吧

我覺的可以將走步看成是對壹個多叉樹的遍歷,在樹的層次上應該是黑白棋交替,即若第壹層是白子,那麽第二層則是黑子,這棵樹每次生成壹層節點,也就是白子或者黑子走壹次,壹層中包含子的數量就是可能的走步,判斷生成每個節點時白棋或者黑棋是否連成線(5個),若連成線,則退出。

回溯可能是這樣的,若想白棋贏,這個算法若找到了白棋贏的樹路徑,則退出算法,若找到了黑棋贏,那麽這條路徑是不可行的,要回溯到上層節點繼續遍歷。

這個算法若用窮舉法,妳的棋盤有15*15=225個位置,那麽可能要比較的次數會是225*224*223*......,估計這個算法是不可能實現的吧,要簡化就要根據經驗,對樹做剪枝,減少比較次數。

這些經驗像下面這樣:

若甲方已經有三個子連成線,那麽乙方在沒有三個子連成線的情況下只能有

兩種走法,也就是堵三,

若乙方有三個子連成線,那麽會多出可選位置,也就是沖四的位置。

若甲方有四子連線,當然壹頭是堵住的,那麽乙方只能有壹個位置可以選擇。

可以看壹些五子棋高手的經驗,將這些經驗寫到程序中去。

以上是突然想出來的,呵呵,希望大家***同討論

  • 上一篇:青島往事大結局是什麽?
  • 下一篇:百度小說怎麽添加網頁小說
  • copyright 2024編程學習大全網