freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于java的五子棋游戲的設(shè)計(含源程序代碼)-資料下載頁

2024-12-06 02:27本頁面

【導(dǎo)讀】巧,以及研究簡單的人工智能,決定用Java開發(fā)五子棋游戲。對戰(zhàn)和玩家之間聯(lián)網(wǎng)對戰(zhàn)2個功能。網(wǎng)絡(luò)連接部分為Socket編程應(yīng)用,客戶端。維護和收集用戶輸入的信息,及錯誤處理。服務(wù)器維護在線用戶的基本信息和任。意兩個對戰(zhàn)用戶的棋盤信息,動態(tài)維護用戶列表。在人機對弈中通過深度搜索和。估值模塊,來提高電腦棋手的智能。分析估值模塊中的影響精準(zhǔn)性的幾個要素,法的基礎(chǔ)上分析一些提高電腦AI方案,如遞歸算法、電腦學(xué)習(xí)等。

  

【正文】 在中國象棋和國際象棋中,情況就有些復(fù)雜了,每個棋子都有它特定的著法, 電腦下子要考慮自己和玩家的棋型,優(yōu)先防守 ,如果沒有要防的棋型,則搜索自己的棋型下子。 設(shè)置重要性 ,即估 值模塊 ,下面只給出橫向的代碼 private void setWeight(int x,int y,int tcolor){ int i=RectX1,j=RectY1,value=0,k=0,n=0,flag=0。 // 39。39。 方向 for(i=RectX1,j=y。i=RectX2。i++){ if([i][j]!=0){ continue。 } value=0。flag=0。 for(k=1。ik=RectX1 amp。amp。 k5。k++){ if([ik][j]==tcolor){ value++。 continue。 第 19 頁 共 23 頁 } if([ik][j]==0){//black space flag++。 break。 } } for(k=1。i+kRectX2 amp。amp。 k5。k++){ if([i+k][j]==tcolor){ value++。 } if([i+k][j]==0){ flag++。 break。 } } n=weight(value,flag)。 if(weightBoard[i][j]n){ weightBoard[i][j]=n。 } } } 設(shè)定相應(yīng)空位的重要值以后,選取最大的值下 子,代碼如下: private void getBiggest(int [][] arr,int x,int y){ int [] temp=new int[2]。 int swt=arr[0][0],tmp=0。 for(int i=0。i15。i++){ for(int j=0。j15。j++){ if(arr[i][j]swt){ temp[0]=i。temp[1]=j。 swt=arr[i][j]。 } } } x=temp[0]。 第 20 頁 共 23 頁 y=temp[1]。 arr[x][y]=0。 } 對于特定的棋型,都有一個不同的估值,以此來區(qū)別不同棋型的優(yōu)劣,也以此來決定最終的落子位置。毫無疑問,像已有四子連成一線且還可以繼續(xù)落子的情 況,明顯要比只有三個子連成一線的情況要好,或者說優(yōu)先級要更高,對弈雙方對此種棋局,肯定都是把第一種情況放為首要分析的位置上。因此,要使棋手做出這種判斷,就要把第一種情況的估值設(shè)置得高。 對不同的棋型設(shè)置重要值,比如:活四、死四、活三、死三、活二、死二。 同理 ,和判斷勝負(fù) 一樣下子 也要考慮邊界 特殊 情況 ,矩形設(shè)置如下: private void setRect(int x,int y){ if(x40) RectX1=x4。 else RectX1=0。 if(x+414) RectX2=14。 else RectX2=x+4。 if(y40) RectY1=y4。 else RectY1=0。 if(y+414) RectY2=14。 else RectY2=y+4。 if(RectX1RectY1) RectX1 = x(yRectY1)。 else RectY1 = y(xRectX1)。 if(RectX2RectY2) RectY2 = y+(RectX2x)。 else RectX2 = x+(RectY2y)。 } 努力提高電腦 AI 一直是五子棋游戲關(guān)鍵,第一步的人工智能只是估值和搜索算法的集合,要真正的提高電腦 AI 還有很多步,例如,我的電腦 AI 只是片面的分析了雙方的器型,沒有前瞻性。如果玩家多想幾步,電腦就發(fā)現(xiàn)不了。不過即使沒采用遞歸算法,要 是讓電腦先下子的話,你的大部分時間也是花在防守上 ,可能是我的棋力太菜了,我自己還沒有下贏過電腦。 目前有 2 種方法提高電腦棋力:一是遞歸算法,二是 增加細(xì)致的特定棋形的判斷 ,鑒于自己對算法方面欠缺甚多,沒有辦法完成這個功能,實在是遺憾。我大體說一下這 2種算法的思路:遞歸算法的意思可以說成“今后幾步預(yù)測法”,首先讓電腦分析一個可能的點,如果在這兒下子將會形成對手不得不防守的棋型(例如:“沖四”、“活三”);那么下一步對手就會照你的思路來防守你,如第 21 頁 共 23 頁 此一來便完成了第一步的預(yù)測。這時候在調(diào)用盤面分析模塊對預(yù)測后的棋型進 行分析,如果出現(xiàn)了“四三”、“雙三”或“雙四”等制勝點,那么己方就可以獲勝了。否則照同樣的方法向下分析,就可以預(yù)測出多步 。如果盤面上沒有對手必須防的棋型,進攻不成的話就得考慮防守了,將自己和對手調(diào)換一 下位置,然后用上面的方法來預(yù)測對手的棋重要防守和攻擊都可以平衡,不過缺點是預(yù)測的算法量比較大。 關(guān)于 增加細(xì)致的特定棋形的判斷 ,前面已經(jīng)說過,以為不同的棋型,例如“死四”就有不同的幾種情況,如果對每一種設(shè)置不同的重要值,也可以提高電腦 AI,但是要設(shè)置合適的分?jǐn)?shù)就要在實踐中檢驗了,因為這個不是大小的問題,而是相差多少 。 正如前面所說,增加對細(xì)致棋型的判斷也會提高電腦 AI,雖然沒有遞歸算法明顯,但的確是一種途徑,不過考慮的因素較多。 關(guān)于電腦學(xué)習(xí), 這聽起來似乎是算法無法實現(xiàn)的功能。但是在對弈中卻是非常有用的,但還只是些理論上的東西, 比如棋局結(jié)束后,反向搜索,在自己的棋庫中設(shè)置相關(guān)記憶。但我 并不以為這是很好的方法。因為用這種方法,很有可能它沒有找準(zhǔn)原因,又或者進行學(xué)習(xí)的時候反而把劣等的學(xué)習(xí)進去;并且這種學(xué)習(xí)是很片面的,它只會認(rèn)準(zhǔn)一種極相似的情況 (或者說一模一樣的棋局情況 ),而不會辨識出相似的棋局情況。 結(jié) 論 通過本次 課 題的研究, 用 JAVA 實現(xiàn)了 五子棋人工智能和網(wǎng)絡(luò)游戲 。 知道了這個課題的關(guān)鍵是電腦 AI 算法, 在研究和編程其間,有了很多新的想法 , 同時對 JAVA 套接字編程也有了更新的認(rèn)識。對五子棋相關(guān)規(guī)則及技巧有了新的收獲,最重要的是自己動手解決問題的能力得到了提高。 其中 人工智能 部分,由于采用了大量的搜索算法,其中很多被利用到各方面。它的概念、方法和技術(shù),正在各行各業(yè)廣泛滲透。智能已經(jīng)成為當(dāng)今各種新產(chǎn)品、新裝備的發(fā)展方向 。隨著新的算法和理論的研究,人工智能必定會在人們生活中扮演重要的角色。 參考文獻 [1] 耿祥義 ,張躍平 .Java 2 實用教程(第二版 ) .北京: 清華大學(xué)出版社 ,。 [2] 何橋 ,李肅義 .Java 2 程序設(shè)計簡明教程 .北京: 中國水利水電出版社 ,2021。 [3] 榮欽科技 .Java 2 游戲設(shè)計 .北京: 清華大學(xué)出版社 ,。 [4] 徐 立 ,孫計安 .Java 應(yīng)用與開發(fā)案例教程 .北京: 清華大學(xué)出版社 ,。 [5] 林飛 .中國藝術(shù)經(jīng)典全書之五子棋 .吉林: 吉林?jǐn)z影出版社 .。 [6] 彭建國 ,那威 .連珠五子棋入 門 .北京 : 金盾出版社 .。 第 22 頁 共 23 頁 致 謝 本文是在 吳春旺 老師的熱情關(guān)心和指導(dǎo)下完成的,他淵博的知識和嚴(yán)謹(jǐn)?shù)闹螌W(xué)作風(fēng)使我受益匪淺,對順利完成本課題起到了極大的作用。在此向他表示我最衷心的感謝! 感謝本班的黃澤角同學(xué), 他的構(gòu)思給了我很大的幫助,特別是搜索算法方面。 在論文完成過程中,本人還得到了其他老師和許多同學(xué)的熱心幫助,本人向他們表示深深的謝意! 最后向在百忙之中評審本文的各位專家 、 老師表示衷心的感謝! 作者簡介 姓 名: 趙 小 龍 性別: 男 出生年月: 1984 年 11 月 06 日 民族: 羌 Email: 第 23 頁 共 23 頁 聲 明 本論文的工作是 2021年 2月至 2021年 6月在成都信息工程學(xué)院網(wǎng)絡(luò)工程系完成的。文中除了特別加以標(biāo)注地方外,不包含他人已經(jīng)發(fā)表或撰寫過的研究成果,也不包含為獲得成都信息工程學(xué)院或其他教學(xué)機構(gòu)的學(xué)位或證書而使用過的材料。除非另有說明,本文的工作是原始性工作。 關(guān)于學(xué)位論文使用權(quán)和研究成果知識產(chǎn)權(quán)的說明 : 本人完全了解成都信息工程學(xué)院有關(guān)保管使用學(xué)位論文的規(guī)定,其中包括: ( 1)學(xué)校有權(quán)保管并向有關(guān)部 門遞交學(xué)位論文的原件與復(fù)印件。 ( 2)學(xué)??梢圆捎糜坝 ⒖s印或其他復(fù)制方式保存學(xué)位論文。 ( 3)學(xué)校可以學(xué)術(shù)交流為目的復(fù)制、贈送和交換學(xué)位論文。 ( 4)學(xué)??稍试S學(xué)位論文被查閱或借閱。 ( 5)學(xué)??梢怨紝W(xué)位論文的全部或部分內(nèi)容(保密學(xué)位論文在解密后遵守此規(guī)定)。 除非另有科研合同和其他法律文書的制約,本論文的科研成果屬于成都信息工程學(xué)院。 特此聲明! 作者簽名: 2021年 06月 日
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1