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

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

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

陳羽修

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

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

0 引言

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

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

Android開(kāi)發(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)用程序可以在模擬器上運(yùn)行,必須創(chuàng)建AVD,創(chuàng)建AVD完畢后,檢查測(cè)試環(huán)境是否搭建成功。

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

2.1 功能需求

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

2.2 游戲處理流程

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

2.3 模塊設(shè)計(jì)

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

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

1)游戲主界面模塊

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

2)游戲控制模塊

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

3 軟件設(shè)計(jì)

3.1 類模塊的設(shè)計(jì)

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

3.2 主要代碼

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

1)蘋(píng)果的實(shí)現(xiàn)

private ArrayList mAppleTrail = new ArrayList();

//用于存儲(chǔ)蘋(píng)果的坐標(biāo)位置

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

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

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

newapple = new Position(newapplex,newappley);

//檢測(cè)蘋(píng)果坐標(biāo)是否與蛇的坐標(biāo)以及墻的左邊沖突

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

int snakelength = mSnakeTrail.size();

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

{

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

{

flag = true;

}

}

//墻的沖突檢測(cè)方法與上同;當(dāng)產(chǎn)生的新坐標(biāo)沒(méi)有問(wèn)題時(shí),則把新坐標(biāo)加入到mAppleTrail中。

2)蛇的實(shí)現(xiàn)

private ArrayList mAppleTrail = new ArrayList();

//用于存儲(chǔ)蘋(píng)果的坐標(biāo)位置

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

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

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

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

//通過(guò)設(shè)置整型變量mDirection以及mNextDirection來(lái)判斷蛇下一步移動(dòng)方向,然后改變蛇頭的坐標(biāo),使蛇移動(dòng)

switch (mDirection) {

case EAST:

{

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

break;

}

…….

}

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

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

//找蘋(píng)果的方法:

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 運(yùn)行結(jié)果及調(diào)試

保存原程序,啟動(dòng)模擬機(jī),選擇java application,運(yùn)行結(jié)果如下:

游戲的開(kāi)始界面,點(diǎn)擊開(kāi)始游戲選項(xiàng),則游戲開(kāi)始(圖2、圖3):

進(jìn)入游戲,按上方向鍵開(kāi)始游戲(圖4):

游戲運(yùn)行界面(圖5):

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

5 結(jié)語(yǔ)

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

【參考文獻(xiàn)】

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

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

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

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

[5]張利國(guó),代聞,龔海平.Android移動(dòng)開(kāi)發(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].機(jī)械工業(yè)出版社,2008.

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

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

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

[責(zé)任編輯:湯靜]

猜你喜歡
智能手機(jī)
智能手機(jī)是座礦
智能手機(jī)臉
面向智能手機(jī)的UI界面設(shè)計(jì)
智能手機(jī)是電影制作的未來(lái)嗎?
使用智能手機(jī)增大肥胖風(fēng)險(xiǎn)?
軍事文摘(2019年18期)2019-09-25 08:09:08
假如我是一部智能手機(jī)
信息安全,智能手機(jī)的新增長(zhǎng)點(diǎn)
熱門(mén)智能手機(jī)應(yīng)用
海外星云(2016年7期)2016-12-01 04:18:00
智能手機(jī)介入交往的基礎(chǔ)
新聞傳播(2016年11期)2016-07-10 12:04:01
基于智能手機(jī)控制風(fēng)扇運(yùn)行的實(shí)現(xiàn)
主站蜘蛛池模板: 71pao成人国产永久免费视频| 国产欧美精品一区aⅴ影院| 色噜噜狠狠狠综合曰曰曰| 久久久久久久蜜桃| 久久频这里精品99香蕉久网址| 四虎永久在线视频| 国产小视频在线高清播放| 中文字幕丝袜一区二区| 五月天丁香婷婷综合久久| 福利视频一区| 亚洲精品波多野结衣| 波多野结衣在线se| 成AV人片一区二区三区久久| lhav亚洲精品| 日韩最新中文字幕| 97国内精品久久久久不卡| 91免费在线看| 国产成人三级| 国产本道久久一区二区三区| 欧美成人a∨视频免费观看| 国产精选小视频在线观看| 高清码无在线看| 在线国产三级| 91欧美亚洲国产五月天| 美女啪啪无遮挡| 夜夜操狠狠操| 91精品久久久无码中文字幕vr| 无码有码中文字幕| 欧美国产另类| 黄色网页在线播放| 日韩123欧美字幕| 无码久看视频| 看国产毛片| 国产精品刺激对白在线| 亚洲免费毛片| 欧美日韩另类在线| 自拍偷拍欧美日韩| 亚洲妓女综合网995久久| 久久综合色视频| 欧美区一区| 中文字幕在线观| 亚洲天堂成人| 久久99精品久久久久久不卡| 成人精品视频一区二区在线| 亚洲成人免费在线| 欧洲熟妇精品视频| 97免费在线观看视频| 免费aa毛片| 99人体免费视频| 国内精品91| 国产99久久亚洲综合精品西瓜tv| 伊人久久久久久久| 天天躁夜夜躁狠狠躁图片| 日韩在线第三页| 天天躁夜夜躁狠狠躁图片| 免费国产在线精品一区| 理论片一区| 国内精品免费| 成人在线综合| 乱人伦中文视频在线观看免费| 色欲色欲久久综合网| 中文字幕在线不卡视频| 欧美精品1区| 色哟哟国产精品一区二区| 中美日韩在线网免费毛片视频 | 日韩精品无码一级毛片免费| 亚洲成人动漫在线| 亚洲欧美另类色图| 亚洲va欧美va国产综合下载| а∨天堂一区中文字幕| 亚洲精品黄| 成人午夜视频网站| 国产一区二区三区精品欧美日韩| 国产精品精品视频| 午夜人性色福利无码视频在线观看| 18禁不卡免费网站| 2048国产精品原创综合在线| 亚洲国产精品不卡在线| 首页亚洲国产丝袜长腿综合| 少妇露出福利视频| 亚洲一级毛片| 国产精品久久久久婷婷五月|