999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于java的五子棋游戲設(shè)計

2016-12-20 20:11:00關(guān)寧
青春歲月 2016年21期
關(guān)鍵詞:人工智能

【摘要】在Windows平臺下,系統(tǒng)把五子棋游戲作為研究對象,運用java語言設(shè)計一款能夠?qū)崿F(xiàn)人機對戰(zhàn)的簡單游戲。五子棋人機對弈是計算機博弈中的一種。而計算機博弈是人工智能研究的一個重要分支,其中還包括幾個重要的搜索算法。只有通過一定的研究,才能實現(xiàn)五子棋的人機對戰(zhàn)功能。

【關(guān)鍵詞】人工智能;計算機博弈;搜索算法;五子棋

一、研究內(nèi)容

本游戲是在Windows環(huán)境下完成一個簡易五子棋游戲的設(shè)計。五子棋是人工智能的一個成果之一,它涉及到計算機博弈理論,棋盤表示、走法生成以及搜索算法等知識,最終實現(xiàn)人機對戰(zhàn)。

二、五子棋的整體設(shè)計介紹

一個好的軟件產(chǎn)品,首先是要有一個好的人機界面,也就是說給人的第一感覺是美好的、輕松的。接著是簡單明了的操作,界面上按鈕夠少,令玩家容易上手。

1、人機界面的生成

背景圖片的大小要適中,否則后面的一些功能無法顯示出來(比如相應(yīng)的按鈕)在創(chuàng)建完成一個基本窗口后,將游戲背景圖片和棋盤加載進窗口界面,并加入相應(yīng)的控制按鍵,就得到了一個簡單的棋盤。

2、按鈕功能的實現(xiàn)

Java中的鼠標(biāo)和鍵盤事件,使用Mouse Listener接口處理鼠標(biāo)事件。鼠標(biāo)事件有5種:按下鼠標(biāo)鍵,釋放鼠標(biāo)鍵,點擊鼠標(biāo)鍵,鼠標(biāo)進入和鼠標(biāo)退出。

三、五子棋的AI算法

在本系統(tǒng)的AI算法里,當(dāng)玩家下棋時,電腦優(yōu)先考慮阻止玩家取得勝利,在這個過程中,電腦首先在各個方向進行搜索,尋找其中最優(yōu)的位置進行下棋,以達到阻止玩家獲得勝利的目的。

1、電腦智能下棋

電腦通過打擂計算最佳進攻和防守位置,代碼片段如下:

for(int i=0;i< allChesses.length;i++){//通過計算得到防守的最佳位置,因為是防守,所以統(tǒng)計白色

for(int j=0;j<allChesses.length;j++){

if(allChesses[i][j]==null){//對還沒有走的空棋格進行統(tǒng)

if(isFirst==true){//第一個為空的空格

row=i;//在棋盤中的位置

col=j;

powerValue=RowPowerValue(allChesses,i,j,Color.white)

+ColPowerValue(allChesses, i, j,Color.white)

+RightBiasPowerValue(allChesses,i,j,Color.white)

+LeftBiasPowerValue(allChesses,i,j,Color.white);//計算當(dāng)前位置的權(quán)值

isFirst=false;//表示第一個位置計算完畢

}

2、游戲勝負的判斷

電腦主要是從八個方向來判斷哪一方先勝利了,這八個方向是以一個棋子為中心,向四周輻射擴散出去進行搜索判斷,這八個方向分別是以該棋子為中心的右斜上、右斜下、左斜上、左斜下、列下、列上、列左和行右。每一個方向都設(shè)一個參數(shù)count i,初值為1,每判斷一次,如果有相同的棋子,則count i的值增加1,如果有五個或五個以上,則該方為勝。代碼片段如下:

public boolean checkLeftBias(int row,int col){//檢查左斜

int leftBiasUp=checkLeftBiasUp(row, col);//得到左斜上的個數(shù)

int leftBiasDown=checkLeftBiasDown(row, col);//得到右斜下的個數(shù)

int sum=leftBiasUp+leftBiasDown-1;//在計算過程中多算了一顆棋子,所以要減一顆棋子

if(sum>=5){//已經(jīng)五子連珠

return true;

}

else{

return false;

}

}

四、結(jié)語

人工智能在計算機上實現(xiàn)時,有2種不同的方式。一種是采用傳統(tǒng)的編程技術(shù),使系統(tǒng)呈現(xiàn)智能的效果,而不考慮所用方法是否與人或動物機體所用的方法相同。這種方法叫工程學(xué)方法(Engineerin gapproach),它已在一些領(lǐng)域內(nèi)做出了成果,如文字識別、電腦下棋等。另一種是模擬法(Modeling approach),它不僅要看效果,還要求實現(xiàn)方法也和人類或生物機體所用的方法相同或相類似。而我設(shè)計的五子棋游戲正是通過第一種方法實現(xiàn)的——工程學(xué)方法。了解這些還是遠遠不夠的,最重要的是了解計算機博弈方面相關(guān)的搜索算法。由于我對java方面的知識了解的不多,所以也花了很多的時間在學(xué)習(xí),可以說是邊學(xué)邊用了。

【參考文獻】

[1] 張孝祥. Java就業(yè)培訓(xùn)教程[M]. 北京: 清華大學(xué)出版社, 2003.

[2] Negnevitsky, M. 人工智能智能系統(tǒng)指南(英文版)[M]. 北京: 機械工業(yè)出版社, 2005.

[3] 朱福喜. Java語言基礎(chǔ)教程[M]. 北京: 清華大學(xué)出版社, 2008.

【作者簡介】

關(guān)寧(1994—),女,滿族,吉林永吉人,西北師范大學(xué)在讀本科生。

猜你喜歡
人工智能
我校新增“人工智能”本科專業(yè)
用“小AI”解決人工智能的“大”煩惱
汽車零部件(2020年3期)2020-03-27 05:30:20
當(dāng)人工智能遇見再制造
2019:人工智能
商界(2019年12期)2019-01-03 06:59:05
AI人工智能解疑答問
人工智能與就業(yè)
基于人工智能的電力系統(tǒng)自動化控制
人工智能,來了
數(shù)讀人工智能
小康(2017年16期)2017-06-07 09:00:59
人工智能來了
主站蜘蛛池模板: 国产成人久久777777| 亚洲成AV人手机在线观看网站| 国产日本欧美亚洲精品视| 国产成人久视频免费| 亚洲三级成人| 无码AV日韩一二三区| 国产三级韩国三级理| 亚洲国产日韩视频观看| 国产乱论视频| 亚洲最大福利视频网| 综合成人国产| 国产成人精彩在线视频50| 免费欧美一级| 亚洲精品中文字幕无乱码| 无码内射中文字幕岛国片| 亚洲国产无码有码| 精品国产免费观看一区| 日韩视频福利| 国产成人一区在线播放| 免费国产高清视频| 日韩一级二级三级| 国产精品亚洲欧美日韩久久| 成人va亚洲va欧美天堂| 无码福利日韩神码福利片| 婷婷六月综合| 成人国产一区二区三区| 亚洲一区二区黄色| 四虎精品黑人视频| 久久伊人操| 亚洲人成日本在线观看| 老色鬼久久亚洲AV综合| 亚洲乱强伦| 99热最新网址| 在线免费a视频| 成人午夜视频网站| 国产欧美性爱网| 亚洲欧美极品| 亚洲男人天堂久久| 国产成人亚洲无码淙合青草| 亚洲成人精品在线| 亚洲日本韩在线观看| 亚洲av无码片一区二区三区| 国产麻豆精品在线观看| 国内精品视频区在线2021| 日韩AV无码免费一二三区| 亚洲成人在线免费观看| 久久香蕉国产线看观看式| 中文字幕不卡免费高清视频| 波多野结衣久久精品| 中文毛片无遮挡播放免费| 午夜福利无码一区二区| 亚洲视频一区在线| 岛国精品一区免费视频在线观看| 成人永久免费A∨一级在线播放| 国产永久免费视频m3u8| 国产成人喷潮在线观看| 精品人妻系列无码专区久久| 国产欧美日韩综合在线第一| 91系列在线观看| 日本www色视频| 精品精品国产高清A毛片| 无码丝袜人妻| 五月丁香在线视频| 国产精品观看视频免费完整版| 91麻豆精品视频| 九色在线视频导航91| 五月天丁香婷婷综合久久| 国产靠逼视频| 中国一级特黄视频| 成人一级免费视频| 日韩在线1| 欧美一级99在线观看国产| 亚洲精品男人天堂| 一级一级一片免费| www.精品视频| 国产91九色在线播放| 国产欧美日韩精品第二区| 波多野结衣久久高清免费| 中文字幕欧美成人免费| 国模极品一区二区三区| 99九九成人免费视频精品| 日韩美女福利视频|