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

基于Android貪吃蛇游戲的設計與實現

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

陳羽修

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

【關鍵詞】Android; 貪吃蛇; Java; 智能手機

0 引言

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

1 Android開發環境

Android開發環境搭建包括JDK、Eclipse、Android SDK、ADT的安裝以及AVD的創建,步驟如下:

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

(2)Eclipse安裝。

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

(4)ADT安裝。

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

2 貪吃蛇游戲總體設計

2.1 功能需求

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

2.2 游戲處理流程

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

2.3 模塊設計

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

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

1)游戲主界面模塊

游戲主界面模塊主要包括:游戲界面的邊界,即游戲中的墻;游戲中蛇的構成,以及蘋果的構成;游戲中障礙物的構成;游戲中分數顯示以及關卡顯示。

2)游戲控制模塊

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

3 軟件設計

3.1 類模塊的設計

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

3.2 主要代碼

游戲的框架的構建包括基本的蛇身,蘋果的實現等。本設計使用動態數組ArrayList來存儲蛇身和蘋果點集的信息。主要代碼如下:

1)蘋果的實現

private ArrayList mAppleTrail = new ArrayList();

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

//根據游戲的需要,蘋果的位置應該是隨機產生的,使用java.util.Random類中提供的隨機數實現蘋果坐標的隨機。

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

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

newapple = new Position(newapplex,newappley);

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

boolean flag = false; //設置沖突標志位

int snakelength = mSnakeTrail.size();

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

{

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

{

flag = true;

}

}

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

2)蛇的實現

private ArrayList mAppleTrail = new ArrayList();

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

//第二步:蛇的初始化,蛇身的初始化在ininNewGame中實現。

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

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

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

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

switch (mDirection) {

case EAST:

{

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

break;

}

…….

}

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

//第五步:蛇吃蘋果的實現

//找蘋果的方法:

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 運行結果及調試

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

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

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

游戲運行界面(圖5):

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

5 結語

基于Android開發環境,采用Java語言編程,設計了一個android的手機應用軟件貪吃蛇游戲。經調測,該應用軟件操作方便,運行結果正確;整個系統恢復性能好,連接速度快,是一款適用于各個年齡階段的娛樂性的游戲。

【參考文獻】

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

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

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

[4]李興華.Java實戰開發經典[M].北京:清華大學出版社,2009.

[5]張利國,代聞,龔海平.Android移動開發案例詳解[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].機械工業出版社,2008.

[8]郭志宏.Android應用開發詳解[M].電子工業出版社,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
面向智能手機的UI界面設計
湖北農機化(2020年4期)2020-07-24 09:07:46
智能手機是電影制作的未來嗎?
使用智能手機增大肥胖風險?
軍事文摘(2019年18期)2019-09-25 08:09:08
假如我是一部智能手機
趣味(語文)(2018年8期)2018-11-15 08:53:00
信息安全,智能手機的新增長點
熱門智能手機應用
海外星云(2016年7期)2016-12-01 04:18:00
智能手機介入交往的基礎
新聞傳播(2016年11期)2016-07-10 12:04:01
基于智能手機控制風扇運行的實現
主站蜘蛛池模板: 国产在线自乱拍播放| 台湾AV国片精品女同性| 2022精品国偷自产免费观看| 动漫精品啪啪一区二区三区| 久久精品最新免费国产成人| AV天堂资源福利在线观看| av大片在线无码免费| 成年av福利永久免费观看| 亚洲综合一区国产精品| 亚洲成A人V欧美综合天堂| 欧美日韩国产在线人| 国产精品一区在线观看你懂的| 丁香综合在线| 91福利片| 全部免费毛片免费播放| 色综合天天娱乐综合网| 无码不卡的中文字幕视频| 亚洲AV无码久久精品色欲| 日韩a级片视频| 欧美高清三区| 久久久久久久97| 五月婷婷综合在线视频| 亚洲国产看片基地久久1024| 日韩黄色在线| 视频二区中文无码| 国产成人综合日韩精品无码首页| 国产福利2021最新在线观看| 无码国产偷倩在线播放老年人 | 亚洲精品视频免费看| 色精品视频| 色噜噜久久| 日本一本在线视频| 国产麻豆另类AV| 中文字幕永久在线观看| 欧美啪啪精品| 国产综合精品日本亚洲777| 日本成人精品视频| 国产乱视频网站| 国产一级妓女av网站| 国产区福利小视频在线观看尤物| 成人国产三级在线播放| 五月天综合网亚洲综合天堂网| 日韩天堂网| 免费国产高清精品一区在线| 亚洲综合极品香蕉久久网| 激情网址在线观看| 91网红精品在线观看| 99精品福利视频| 找国产毛片看| 国产精品漂亮美女在线观看| 中文字幕天无码久久精品视频免费| 9久久伊人精品综合| 一级片一区| 69视频国产| 欧美高清视频一区二区三区| 中文字幕在线一区二区在线| 中文国产成人久久精品小说| 国产精品私拍99pans大尺度 | 亚洲男人的天堂久久香蕉| 萌白酱国产一区二区| 高清乱码精品福利在线视频| 欧美精品啪啪一区二区三区| 欧美视频在线观看第一页| 2019年国产精品自拍不卡| 97精品伊人久久大香线蕉| 影音先锋丝袜制服| 色呦呦手机在线精品| 草草线在成年免费视频2| jizz在线观看| 97青草最新免费精品视频| 免费无码在线观看| 制服丝袜在线视频香蕉| 国产视频a| 精品精品国产高清A毛片| 露脸一二三区国语对白| 毛片久久久| 日本国产精品| 伊人久久婷婷| 亚洲精品桃花岛av在线| 欧美有码在线观看| 18禁影院亚洲专区| 欧美一级夜夜爽www|