亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2016-12-20 20:11:00關(guān)寧
        青春歲月 2016年21期
        關(guān)鍵詞:五子棋搜索算法人工智能

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

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

        一、研究內(nèi)容

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

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

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

        1、人機(jī)界面的生成

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

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

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

        三、五子棋的AI算法

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

        1、電腦智能下棋

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

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

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

        if(allChesses[i][j]==null){//對還沒有走的空棋格進(jìn)行統(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、游戲勝負(fù)的判斷

        電腦主要是從八個方向來判斷哪一方先勝利了,這八個方向是以一個棋子為中心,向四周輻射擴(kuò)散出去進(jìn)行搜索判斷,這八個方向分別是以該棋子為中心的右斜上、右斜下、左斜上、左斜下、列下、列上、列左和行右。每一個方向都設(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é)語

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

        【參考文獻(xiàn)】

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

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

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

        【作者簡介】

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

        猜你喜歡
        五子棋搜索算法人工智能
        改進(jìn)的和聲搜索算法求解凸二次規(guī)劃及線性規(guī)劃
        Sim Sim
        2019:人工智能
        商界(2019年12期)2019-01-03 06:59:05
        人工智能與就業(yè)
        數(shù)讀人工智能
        小康(2017年16期)2017-06-07 09:00:59
        下一幕,人工智能!
        90后羅運(yùn)生:五子棋是我生命的一部分
        金色年華(2016年8期)2016-02-28 01:40:31
        基于汽車接力的潮流轉(zhuǎn)移快速搜索算法
        基于逐維改進(jìn)的自適應(yīng)步長布谷鳥搜索算法
        財政部長吳波的“五子棋局”
        国产精品免费久久久久影院仙踪林| 亚洲av毛片在线免费看| 脱了老师内裤猛烈进入| 中年熟妇的大黑p| 欧美久久久久中文字幕| 日韩国产自拍成人在线| 精品国产自在现线看久久| 亚洲av无码乱码国产精品| 国产成人精品午夜福利| 国产91AV免费播放| 精品女厕偷拍视频一区二区| 国产精品特级毛片一区二区三区| 日韩成人无码一区二区三区| 亚洲成A人A∨久在线观看| 沐浴偷拍一区二区视频| 精品久久久久久无码人妻蜜桃| japanese无码中文字幕| 国产一区二区三区亚洲天堂| 久久精品久99精品免费| 小sao货水好多真紧h无码视频| 思思久久99er热只有频精品66| 国产一区二区三区视频了| 中文字幕有码在线视频| h视频在线免费观看视频| 午夜亚洲av日韩av无码大全| 中文字幕无码家庭乱欲| 久久久精品2019免费观看| 亚洲女人的天堂网av| 丰满少妇被粗大的猛烈进出视频| 尤物视频一区二区| 亚洲熟女一区二区三区不卡| 亚洲av福利院在线观看 | 一级黄色一区二区三区| 亚洲av永久无码精品三区在线| 亚洲色婷婷免费视频高清在线观看| 久久无人码人妻一区二区三区| 妺妺窝人体色www在线| 毛茸茸的中国女bbw| 久久人妻av无码中文专区| 亚洲97成人在线视频| 吃奶摸下激烈床震视频试看|