【正文】
各有所謂的規(guī)則規(guī)則中就有博弈雙方都可以走哪些著法某些博弈游戲很容易就找到合理著法實(shí)現(xiàn)的五子棋它就具有很簡(jiǎn)單的落子規(guī)則即棋盤上所有的空位都可以落子它們都是合理的著法但是有些棋類游戲比如在中國(guó)象棋和國(guó)際象棋中情況就有些復(fù)雜了每個(gè)棋子都有它特定的著法 private void setWeight int xint yint tcolor int i RectX1j RectY1value 0k 0n 0flag 0 方向 for i RectX1j yi RectX2i if BoardPanelboard[i][j] 0 continue value 0flag 0 for k 1ik RectX1 k 5k if BoardPanelboard[ik][j] tcolor value continue if BoardPanelboard[ik][j] 0 black space flag break for k 1ik RectX2 k 5k if BoardPanelboard[ik][j] tcolor value if BoardPanelboard[ik][j] 0 flag break n weight valueflag if weightBoard[i][j] n weightBoard[i][j] n 設(shè)定相應(yīng)空位的重要值以后選取最大的值下子代碼如下 private void getBiggest int [][] arrint xint y int [] temp new int[2] int swt arr[0][0]tmp 0 for int i 0i 15i for int j 0j 15j if arr[i][j] swt temp[0] itemp[1] j swt arr[i][j] x temp[0] y temp[1] arr[x][y] 0 對(duì)于特定的棋型都有一個(gè)不同的估值以此來區(qū)別不同棋型的優(yōu)劣也以此來決定最終的落子位置毫無疑問像已有四子連成一線且還可以繼續(xù)落子的情況明顯要比只有三個(gè)子連成一線的情況要好或者說優(yōu)先級(jí)要更高對(duì)弈雙方對(duì)此種棋局肯定都是把第一種情況放為首要分析的位置上因此要使棋手做出這種判斷就要把第一種情況的估值設(shè)置得高 對(duì)不同的棋型設(shè)置重要值比如活四死四活三死三活二死二 同理和判斷勝負(fù)一樣下子也要考慮邊界特殊情況矩形設(shè)置如 下 private void setRect int xint y if x4 0 RectX1 x4 else RectX1 0 if x4 14 RectX2 14 else RectX2 x4 if y4 0 RectY1 y4 else RectY1 0 if y4 14 RectY2 14 else RectY2 y4 if RectX1 RectY1 RectX1 x yRectY1 else RectY1 y xRectX1 if RectX2 RectY2 RectY2 y RectX2x else RectX2 x RectY2y 努力提高電腦 AI 一直是五子棋游戲關(guān)鍵第一步的人工智能只是估值和搜索算法 的集合要真正的提高電腦 AI還有很多步例如我的電腦 AI只是片面的分析了雙方的器型沒有前瞻性如果玩家多想幾步電腦就發(fā)現(xiàn)不了不過即使沒采用遞歸算法要是讓電腦先下子的話你的大部分時(shí)間也是花在防守上可能是我的棋力太菜了我自己還沒有下贏過電腦 目前有 2 種方法提高電腦棋力一是遞歸算法二是增加細(xì)致的特定棋形的判斷增加細(xì)致的特定棋形的判斷并不以為這是很好的方法因?yàn)橛眠@種方法很有可能它沒有找準(zhǔn)原因又或者進(jìn)行學(xué)習(xí)的時(shí)候反而把劣等的學(xué)習(xí)進(jìn)去并且這種學(xué)習(xí)是很片面的它只會(huì)認(rèn)準(zhǔn)一種極相似的情況 或者說一模一樣的棋局情況 而不會(huì)辨識(shí)出相似 的棋局情況 人工智能部分由于采用了大量的搜索算法其中很多被利用到各方面它的概念方法和技術(shù)正在各行各業(yè)廣泛滲透智能已經(jīng)成為當(dāng)今各種新產(chǎn)品新裝備的發(fā)展方向 參考文獻(xiàn) [1] 耿祥義張躍平 Java 2 實(shí)用教程第二版清華大學(xué)出版社 20212 [2] 何橋李肅義 Java 2 程序設(shè)計(jì)簡(jiǎn)明教程中國(guó)水利水電出版社 2021 [3] 榮欽科技 Java 2 游戲設(shè)計(jì)清華大學(xué)出版社 202111 [4] 徐立孫計(jì)安 Java 應(yīng)用與開發(fā)案例教程清華大學(xué)出版社 20217 [5] 林飛中國(guó)藝術(shù)經(jīng)典全書之五子棋吉林?jǐn)z影出版社 202112 [6] 彭建國(guó)那威連珠五子棋入門北京金盾出版社 19976 0 第 21 頁 共 23 頁 圖 6 活四 圖 13 五子棋程序流程圖 圖 23 服務(wù)端監(jiān)聽 圖 15 服務(wù)端監(jiān)聽 。