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

        ?

        基于Android貪吃蛇游戲的設(shè)計與實現(xiàn)

        2016-03-30 20:14:09陳羽修
        科技視界 2016年1期
        關(guān)鍵詞:智能手機

        陳羽修

        【摘 要】Android作為新一代的智能手機操作系統(tǒng)以及移動軟件開發(fā)平臺,以其強大的功能和開放性的特點而迅速發(fā)展。貪吃蛇游戲由傳統(tǒng)街機游戲Blockade的基礎(chǔ)上發(fā)展而來,能增強人的反應(yīng)能力,是一款適用于各個年齡階段的娛樂性的游戲。本文基于Android開發(fā)環(huán)境,采用Java語言編程,設(shè)計了一個android的手機應(yīng)用軟件貪吃蛇游戲。

        【關(guān)鍵詞】Android; 貪吃蛇; Java; 智能手機

        0 引言

        Android是Google開發(fā)的基于Linux平臺的開源手機操作系統(tǒng),它包括操作系統(tǒng)、用戶界面和應(yīng)用程序。手機游戲作為Android系統(tǒng)平臺的一個重要組成部分,正在被越來越多的人所重視。貪吃蛇游戲由傳統(tǒng)街機游戲Blockade的基礎(chǔ)上發(fā)展而來,能增強人的反應(yīng)能力,是一款適用于各個年齡階段的娛樂性的游戲。本文基于Android開發(fā)環(huán)境,采用Java語言編程,設(shè)計了一個android的手機應(yīng)用軟件貪吃蛇游戲。

        1 Android開發(fā)環(huán)境

        Android開發(fā)環(huán)境搭建包括JDK、Eclipse、Android SDK、ADT的安裝以及AVD的創(chuàng)建,步驟如下:

        (1)JDK安裝,安裝完成之后,可以在檢查JDK是否安裝成功。

        (2)Eclipse安裝。

        (3)Android SDK安裝,檢查SDK是否安裝成功。

        (4)ADT安裝。

        (5)創(chuàng)建AVD,為使Android應(yīng)用程序可以在模擬器上運行,必須創(chuàng)建AVD,創(chuàng)建AVD完畢后,檢查測試環(huán)境是否搭建成功。

        2 貪吃蛇游戲總體設(shè)計

        2.1 功能需求

        貪吃蛇是一款經(jīng)典的手機游戲,一條蛇在封閉圍墻里,通過按鍵盤上下左右四個鍵控制蛇向上下左右四個方向移動,如果蛇頭撞倒食物,則食物被吃掉,蛇身體長一節(jié),同時記1分;若吃到獎勵蘋果,加兩分;若吃到毒蘋果,則減3分。在游戲過程中,如果長按住方向鍵不放,則蛇的移動速度加快,松開方向鍵,恢復原速。如果蛇在移動中撞到墻或障礙物或者蛇頭撞倒自己身體,則游戲結(jié)束!

        2.2 游戲處理流程

        游戲運行流程圖如下(圖1):

        2.3 模塊設(shè)計

        本系統(tǒng)主要完成以下幾方面的功能:游戲控制功能——包括游戲的開始、暫停、退出界面布局,其他輔助功能(如游戲積分,游戲過關(guān)等)。

        游戲總設(shè)計模塊劃分為游戲主界面模塊、游戲控制模塊和游戲菜單模塊。

        1)游戲主界面模塊

        游戲主界面模塊主要包括:游戲界面的邊界,即游戲中的墻;游戲中蛇的構(gòu)成,以及蘋果的構(gòu)成;游戲中障礙物的構(gòu)成;游戲中分數(shù)顯示以及關(guān)卡顯示。

        2)游戲控制模塊

        游戲控制模塊主要包括:游戲開始控制;游戲暫??刂?;游戲退出控制。其中,游戲開始控制使用上鍵開始游戲,啟動游戲后會有一個初始菜單界面,點擊“開始游戲”,彈出一句話“請按上鍵開始游戲”。游戲開始后蛇向下移動,然后由控制上下左右鍵來控制蛇的移動。游戲退出控制采用多種方式來應(yīng)對不同的情況,如玩家游戲時想退出,可按“1”鍵,程序會自動跳轉(zhuǎn)到初始菜單界面,在初始菜單界面點擊“退出游戲”即可退出游戲。而當玩家在游戲中由于碰到墻或者咬到自己或者碰到障礙物而導致游戲結(jié)束時,游戲自動彈出界面,提示是繼續(xù)游戲還是退出游戲,當點擊“取消”時,游戲就會自動跳轉(zhuǎn)到初始菜單,再點擊“退出游戲”即可。

        3 軟件設(shè)計

        3.1 類模塊的設(shè)計

        主要的類模塊有:Snake.java為主界面類;SnakeView 為貪吃蛇類的視圖主要邏輯控制和繪制類;TileView 為界面的整體視圖。

        3.2 主要代碼

        游戲的框架的構(gòu)建包括基本的蛇身,蘋果的實現(xiàn)等。本設(shè)計使用動態(tài)數(shù)組ArrayList來存儲蛇身和蘋果點集的信息。主要代碼如下:

        1)蘋果的實現(xiàn)

        private ArrayList mAppleTrail = new ArrayList();

        //用于存儲蘋果的坐標位置

        //根據(jù)游戲的需要,蘋果的位置應(yīng)該是隨機產(chǎn)生的,使用java.util.Random類中提供的隨機數(shù)實現(xiàn)蘋果坐標的隨機。

        int newapplex = 2+random.nextInt((mYTileCount-2)-4);

        int newappley = 2+random.nextInt((mXTileCount-2)-4);

        newapple = new Position(newapplex,newappley);

        //檢測蘋果坐標是否與蛇的坐標以及墻的左邊沖突

        boolean flag = false; //設(shè)置沖突標志位

        int snakelength = mSnakeTrail.size();

        for (int index = 0; index < snakelength; index++)

        {

        if (mSnakeTrail.get(index).equals(newapple.x,newapple.y))

        {

        flag = true;

        }

        }

        //墻的沖突檢測方法與上同;當產(chǎn)生的新坐標沒有問題時,則把新坐標加入到mAppleTrail中。

        2)蛇的實現(xiàn)

        private ArrayList mAppleTrail = new ArrayList();

        //用于存儲蘋果的坐標位置

        //第二步:蛇的初始化,蛇身的初始化在ininNewGame中實現(xiàn)。

        //第三步:蛇的移動,游戲中通過觸發(fā)來改變坐標(+1,-1)的方式來改蛇頭的方向,包括后面的蛇的碰撞檢測都要用到蛇頭。

        Position head = mSnakeTrail.get(0);//獲取蛇的頭部

        Position newHead = new Position(2,2);//蛇的新頭部

        //通過設(shè)置整型變量mDirection以及mNextDirection來判斷蛇下一步移動方向,然后改變蛇頭的坐標,使蛇移動

        switch (mDirection) {

        case EAST:

        {

        newHead = new Position(head.x,head.y-1);

        break;

        }

        …….

        }

        //第四步:蛇的碰撞檢測 蛇在移動時,若碰撞到墻壁或者自己身體,則游戲結(jié)束。代碼略。

        //第五步:蛇吃蘋果的實現(xiàn)

        //找蘋果的方法:

        int applecount = mAppleTrail.size();

        int appleindex;

        for ( appleindex = 0; appleindex < applecount; appleindex++)

        {

        Position c = mAppleTrail.get(appleindex);

        if (c.equals(newHead.x,newHead.y)) {}

        }

        其他代碼略。

        4 運行結(jié)果及調(diào)試

        保存原程序,啟動模擬機,選擇java application,運行結(jié)果如下:

        游戲的開始界面,點擊開始游戲選項,則游戲開始(圖2、圖3):

        進入游戲,按上方向鍵開始游戲(圖4):

        游戲運行界面(圖5):

        游戲失敗,出現(xiàn)如下對話框,選擇是否繼續(xù)游戲,按取消則退出游戲(圖6):

        5 結(jié)語

        基于Android開發(fā)環(huán)境,采用Java語言編程,設(shè)計了一個android的手機應(yīng)用軟件貪吃蛇游戲。經(jīng)調(diào)測,該應(yīng)用軟件操作方便,運行結(jié)果正確;整個系統(tǒng)恢復性能好,連接速度快,是一款適用于各個年齡階段的娛樂性的游戲。

        【參考文獻】

        [1]裴存亮,楊海波.Google Android手機游戲設(shè)計達人講座[M].重慶:電腦報電子音像出版社,2011,6.

        [2]靳巖,姚尚朗.Google Android開發(fā)入門與實戰(zhàn)[M].北京:人民郵電出版社,2009,7.

        [3]吳亞峰,蘇亞光.Android游戲開發(fā)實戰(zhàn)寶典[M].北京:人民郵電出版社,2010.

        [4]李興華.Java實戰(zhàn)開發(fā)經(jīng)典[M].北京:清華大學出版社,2009.

        [5]張利國,代聞,龔海平.Android移動開發(fā)案例詳解[M].人民郵電出版社,2010.

        [6]Shi Y,Casey k,Ertl M A Virtual maehine showdown.Stack, Versus registers registers.ACM.Trans.Archit[J].Code Optim.2008,4(4):1-36.

        [7]Y.Daniel Liang,Introduction to Java Programming[M].機械工業(yè)出版社,2008.

        [8]郭志宏.Android應(yīng)用開發(fā)詳解[M].電子工業(yè)出版社,2010.

        [9]Donn Felker. Android Application Development For Dummies,2010[Z].

        [10]Wei-Meng Lee. Beginning Android Application Development,2010[Z].

        [責任編輯:湯靜]

        猜你喜歡
        智能手機
        智能手機是座礦
        智能手機臉
        英語文摘(2020年5期)2020-09-21 09:26:30
        假如我是一部智能手機
        趣味(語文)(2018年8期)2018-11-15 08:53:00
        智能手機
        小說月刊(2014年4期)2014-04-23 08:52:21
        欧美成人免费看片一区| 免费成人电影在线观看| 乱码av麻豆丝袜熟女系列| 性色av无码不卡中文字幕| 少妇爆乳无码专区| 艳妇臀荡乳欲伦交换在线播放| 黄色毛片视频免费| 毛片无遮挡高清免费久久| 国产精品毛片av一区二区三区| 国产成人精品一区二三区孕妇| 久久久久av无码免费网| 欧美性猛交xxxx乱大交3| 亚洲综合色一区二区三区另类| 一区二区三区国产偷拍| 国产成人高清在线观看视频| 中国少妇内射xxxx狠干| 在线视频制服丝袜中文字幕| 久久精品国产亚洲av高清蜜臀 | 国产精品第一二三区久久蜜芽 | 欧美v亚洲v日韩v最新在线| 亚洲中文字幕乱码免费| 国产精品一区二区三密桃| 国产一区二区三区在线男友| 日本艳妓bbw高潮一19| 精品亚洲国产成人av| 日韩精品一区二区三区四区| av人妻在线一区二区三区| 亚洲av国产av综合av卡| 蜜臀av一区二区| 中文字幕一区二区人妻痴汉电车| 国产亚洲精品在线视频| 国产精品99久久久久久猫咪| 又黄又爽的成人免费视频| 精品久久久久久国产潘金莲| 亚洲精品岛国av一区二区| 欧洲乱码伦视频免费| 成人小说亚洲一区二区三区| 久久久调教亚洲| 国产熟人精品一区二区| a级毛片免费观看在线播放| 中文字幕亚洲乱码熟女一区二区|