【正文】
本文引用了數(shù)位學(xué)者的研究文獻(xiàn),如果沒有各位學(xué)者的研究成果的幫助和啟發(fā),我將很難完成本次畢設(shè)。 雖然有些碎碎念但終歸是開發(fā)過程中的一些真實(shí)的經(jīng)歷。7 結(jié)論本應(yīng)用以Eclipse集成Android ADT為開發(fā)環(huán)境,在DalvikVM中對(duì)自己編寫的應(yīng)用進(jìn)行測試。(8).妥善保存一切測試過程文檔,意義是不言而喻的,測試的重現(xiàn)性往往要靠測試文檔。(總分:+(score), screen_width/2 textlong/2, screen_height/2 100, paint)。 // 計(jì)算背景圖片與屏幕的比例 (background, 0, 0, paint)。2玩家飛機(jī)8011 (4) 游戲部分運(yùn)行截圖如下所示: 小型飛機(jī)8架全部出現(xiàn)截圖 小型飛機(jī)被擊落 中型飛機(jī)被擊落 大型飛機(jī)被擊落 分?jǐn)?shù)統(tǒng)計(jì)模塊 問題描述經(jīng)過游戲前三個(gè)模塊的設(shè)計(jì)開發(fā),游戲的大部分功能基本已經(jīng)實(shí)現(xiàn)了,但是沒有分?jǐn)?shù)統(tǒng)計(jì)界面,總是少些東西,分?jǐn)?shù)是玩家榮譽(yù)的象征,應(yīng)該在游戲的結(jié)束展示一下玩家的分?jǐn)?shù)。關(guān)卡設(shè)計(jì)就是設(shè)計(jì)好場景和物品,目標(biāo)和任務(wù),提供給玩家(游戲人物)一個(gè)活動(dòng)的舞臺(tái)。游戲操作模塊定義的敵機(jī)為上下飛行的,都是統(tǒng)一從屏幕上方飛下來,敵機(jī)不具備發(fā)射子彈功能,但是當(dāng)敵機(jī)碰撞到玩家飛機(jī)后,玩家飛機(jī)死亡。 問題分析游戲操作模塊是程序展示自己功能的最好的載體,在設(shè)計(jì)時(shí)除了更好地進(jìn)行游戲道具的載入繪圖等操作外,還要做到界面美觀大方,讓人看起來很舒服。 } return true。amp。 } } } }(3) 本游戲設(shè)計(jì)中,碰撞檢測起到了很大的作用。 ()。因?yàn)檫@些函數(shù)的存在,讓對(duì)象的碰撞檢測等操作綁定在單一對(duì)象上,而不是通過游戲操作程序來記錄,這就為程序調(diào)用起到了大大的便利性。將道具所使用的數(shù)據(jù)以及道具所能實(shí)現(xiàn)的邏輯功能捆綁在一起,對(duì)數(shù)據(jù)的訪問只能通過已定義的界面。(fly_x, fly_y, fly_x + (), fly_y + fly_height)。 ()。而后等待Handler機(jī)制接受消息從而進(jìn)行游戲操作或者其他。所以必須把所有的UI操作放在UI線程里。 問題分析關(guān)于按鈕的實(shí)現(xiàn)設(shè)計(jì)UI線程和子線程交互的問題。 // 背景圖片 private Rect rect。 private float strhei。 // boss飛機(jī) private ListEnemyPlane enemyPlanes。 private boolean isPlay。 // 導(dǎo)彈的積分 private int bulletScore。 // 標(biāo)記更換了子彈 private Bitmap myplane。 //是否允許射擊 private boolean isCrazy。 // 對(duì)象當(dāng)前的數(shù)量 private static int sumCount = 1。 // 對(duì)象當(dāng)前的數(shù)量public static int sumCount = 2。 // 視圖的寬度 protected float screen_height。 // 按鈕圖片private Bitmap button2。private float strwid。 數(shù)據(jù)結(jié)構(gòu)及接口定義(1)開場動(dòng)畫模塊private float fly_x。增加分?jǐn)?shù)和等級(jí),并發(fā)出相應(yīng)的音效;通過背景移動(dòng)模塊,調(diào)整兩個(gè)圖片的高度,制造出背景移動(dòng)效果;通過運(yùn)行間隔時(shí)間控制模塊控制運(yùn)行間隔時(shí)間。繪制完成后將等待玩家操作是進(jìn)入游戲還是退出游戲。(4) 分?jǐn)?shù)統(tǒng)計(jì)模塊在游戲進(jìn)行中時(shí),本模塊進(jìn)行實(shí)時(shí)的分?jǐn)?shù)統(tǒng)計(jì),根據(jù)不同的擊落類型給予玩家不同的分?jǐn)?shù),并在玩家游戲結(jié)束時(shí),給出玩家分?jǐn)?shù)統(tǒng)計(jì)結(jié)果,以此鼓勵(lì)玩家。該模塊為這些道具初始化了圖片資源以及繪圖方法,并且定義了每個(gè)道具的邏輯屬性,以方便游戲操作模塊、分?jǐn)?shù)統(tǒng)計(jì)模塊的調(diào)用。所以程序員必須提供給用戶便捷的操作接口來供用戶操作,靈活便捷的操作性直接影響了一款軟件的好壞。一個(gè)的好的用戶需求分析可以讓系統(tǒng)變的更加完善,能貼合玩家的真實(shí)需求,從而達(dá)到一個(gè)游戲與玩家完全契合的水平。因?yàn)樗奶厥庠谟谒芪烁钊?不論是手機(jī),還是小游戲機(jī),不可能花費(fèi)大量時(shí)間在娛樂上,大型游戲是行不通的,這樣的小游戲剛好迎合了他們的需求. 飛機(jī)大戰(zhàn)游戲基于JAVA平臺(tái)編寫,采用Android技術(shù)開發(fā)的一款手機(jī)游戲。簡單理解為開發(fā)工具包集合,是整體開發(fā)中所用到的工具包,如果你不用Eclipse作為你的開發(fā)工具,你就不需要下載ADT,只下載SDK即可開發(fā)。JDK由一個(gè)標(biāo)準(zhǔn)類庫和一組建立,測試及建立文檔的Java實(shí)用程序組成。2 開發(fā)環(huán)境及相關(guān)技術(shù) 開發(fā)環(huán)境硬件環(huán)境:Intel Core i3 2100 MHz + 4GB RAM軟件環(huán)境:Windows 7+Eclipse+JDK+ ADT 相關(guān)技術(shù)與工具 EclipseEclipse是著名的跨平臺(tái)的自由集成開發(fā)環(huán)境(IDE)。該設(shè)計(jì)充分運(yùn)用java面向?qū)ο蟮脑韺⑺械娘w機(jī)建立不同的類用以實(shí)現(xiàn)。而作為現(xiàn)代人不可或缺,隨身攜帶的手機(jī)設(shè)備,則作為一類游戲的載體,有著廣泛的發(fā)展空間??梢姡珹ndroid游戲應(yīng)用已漸漸深入人心。Nokia的Symbian系統(tǒng)在Android系統(tǒng)的沖擊下,正在從手機(jī)市場中的王者慢慢被擠下來。并利用游戲設(shè)計(jì)原則,提高游戲的智能,增強(qiáng)游戲的吸引力[3]。一次,也就意味著,電子游戲的利潤空間和發(fā)展空間是十分寬廣的[3]。這其中也包括很多手機(jī)版本的實(shí)現(xiàn),伴隨著Android SDK技術(shù)的不斷發(fā)展,一些基于Android應(yīng)用也不斷推陳出新,很快推飛機(jī)大戰(zhàn)便進(jìn)入了千家萬戶。因此,手機(jī)的娛樂應(yīng)用服務(wù)將會(huì)有很大的發(fā)展空間,游戲也是其中之一[3]。主要有游戲的關(guān)卡切換,游戲地圖數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)、應(yīng)用多種手機(jī)內(nèi)置傳感器進(jìn)行游戲控制、游戲動(dòng)畫的實(shí)現(xiàn)、基于圖形的碰撞檢測、數(shù)據(jù)在手機(jī)系統(tǒng)和實(shí)現(xiàn)。s position was likely to plete the task. With the development of puter games , a lot of programming enthusiasts based on the idea of the game developed various versions , all types of aircraft game. This includes a lot of phone version of the achievement , along with the continuous development of Android SDK technology , a number of Androidbased applications have continued to emerge , and soon World War II aircraft will be pushed into millions of households. This is the Android Android aircraft on the basis of the design based on the initial interface is divided into the game , sound modules, game modules, module manufacturing aircraft shells of four modules design and realization .This paper first discusses the background and status of android system , and then a brief introduction to the technology and analysis for android android , and describes the structure of android applications. In program development , designing a good game with a first class frame, and then realize the function of each class will be realized in accordance with the code and write .Keywords:android games, android aircraft ace, smartphones中北大學(xué)2014屆畢業(yè)設(shè)計(jì)說明書 目錄1 引言 1 系統(tǒng)簡介 1 Android游戲的研究現(xiàn)狀 1 關(guān)于飛機(jī)大戰(zhàn)游戲設(shè)計(jì) 2 2 3 32 開發(fā)環(huán)境及相關(guān)技術(shù) 4 開發(fā)環(huán)境 4 相關(guān)技術(shù)與工具 4 Eclipse 4 JDK 4 ADT 4 5 SurfaceView 53 需求分析 6 系統(tǒng)功能需求 6 業(yè)務(wù)需求分析 7 用戶需求分析 7 功能需求分析 7 功能劃分概圖 94 概要設(shè)計(jì) 10 總體設(shè)計(jì) 10 系統(tǒng)流程 10 系統(tǒng)詳細(xì)結(jié)構(gòu) 11 模塊設(shè)計(jì)概述 12 開場動(dòng)畫模塊 12 道具制造模塊 12 游戲操作模塊 13 分?jǐn)?shù)統(tǒng)計(jì)模塊 13 數(shù)據(jù)結(jié)構(gòu)及接口定義 145 詳細(xì)設(shè)計(jì) 20 開場動(dòng)畫模塊 20 問題描述 20 問題分析 20 實(shí)現(xiàn)方法 21 道具制造模塊 24 問題描述 24 問題分析 24 實(shí)現(xiàn)方法 24 游戲操作模塊 28 問題描述 28 問題分析 28 實(shí)現(xiàn)方法 28 分?jǐn)?shù)統(tǒng)計(jì)模塊 35 問題描述 35 問題分析 35 實(shí)現(xiàn)方法 356 系統(tǒng)測試 37 軟件測試的原則 37 測試的方法 37 本系統(tǒng)的測試 38 測試用例的設(shè)計(jì) 38 測試用例總結(jié) 437 結(jié)論 44參考文獻(xiàn) 45致謝 461 引言 系統(tǒng)簡介隨著社會(huì)的發(fā)展,人們的工作壓力與日俱增。本游戲利用Android開發(fā)語言,完成一個(gè)基于Android的飛行戰(zhàn)斗類游戲開發(fā)。多家科技公司和手機(jī)公司組成的開放手機(jī)聯(lián)盟共同研發(fā),將大大降低新型手機(jī)設(shè)備的研發(fā)成本,完全整合的全移動(dòng)功能性產(chǎn)品成為開放手機(jī)聯(lián)盟的最終目標(biāo)[5]。但在2011年初,這個(gè)數(shù)字就已經(jīng)超過了25萬字大關(guān)。與此同時(shí)相應(yīng)的減壓放松的方式也慢慢發(fā)生了變化[7]。這就要求玩家巧妙的運(yùn)用有限的空間和通道,合理的安排飛機(jī)的位置才可能完成任務(wù)。并利用游戲設(shè)計(jì)原則,提高游戲的智能,增強(qiáng)游戲的吸引力。它由一個(gè)處于操作系統(tǒng)層之上的運(yùn)行環(huán)境還有開發(fā)者編譯,調(diào)試和運(yùn)行用Java語言寫的applet和應(yīng)用程序所需的工具組成。目前Android開發(fā)所用的開發(fā)工具是Eclipse,在Eclipse編譯IDE環(huán)境中,安裝ADT,為Android開發(fā)提供開發(fā)工具的升級(jí)或者變更,簡單理解為在Eclipse下開發(fā)工具的升級(jí)下載工具[2]。這樣可以避免畫圖任務(wù)繁重的時(shí)候造成主線程阻塞,從而提高了程序的反應(yīng)速度。游戲的結(jié)束、開始、動(dòng)態(tài)信息畫面作為構(gòu)成一個(gè)程序都是必不可少的重要部分。 (2)運(yùn)行穩(wěn)定 一款軟件設(shè)計(jì)得不夠好,那么就有可能在運(yùn)行的時(shí)候出現(xiàn)一些不可預(yù)料的錯(cuò)誤從而造成軟件崩潰。 當(dāng)游戲結(jié)束后,顯示并保存玩家在游戲中所獲得的分?jǐn)?shù)。游戲操作模塊定義的敵機(jī)為上下飛行的,都是統(tǒng)一從屏幕上方飛下來,敵機(jī)不具備發(fā)射子彈功能,但是當(dāng)敵機(jī)碰撞到玩家飛機(jī)后,玩家飛機(jī)死亡。: 系統(tǒng)結(jié)構(gòu)圖 模塊設(shè)計(jì)概述,系統(tǒng)雖然主要分為“開場動(dòng)畫模塊”、“道具制造模塊”、“游戲操作模塊”、“分?jǐn)?shù)統(tǒng)計(jì)模塊”四個(gè)主要模塊,但是每個(gè)模塊都需要很多特殊的技巧以及算法來保證其的正確實(shí)施,同時(shí)模塊之間也需要良好的接口配合才行的。該模塊為這些道具初始化了圖片資源以及繪圖方法,并且定義了每個(gè)道具的邏輯屬性,以方便游戲操作模塊、分?jǐn)?shù)統(tǒng)計(jì)模塊的調(diào)用。在游戲進(jìn)行中,會(huì)出現(xiàn)音效,每次玩家飛機(jī)發(fā)射子彈是都會(huì)出現(xiàn)聲音,當(dāng)飛機(jī)爆炸是也會(huì)出現(xiàn)相應(yīng)的音效。private float button_x。 // 按鈕的文字private String exitGame = 退出游戲。 // 當(dāng)前動(dòng)畫幀protected float scalex。 // 繪圖線程 protected SurfaceHolder sfh。 // 對(duì)象總的血量 protected boolean isExplosion。 //發(fā)射子彈的間隔 private float leftBorder。 private long startTime。 // 中型敵機(jī)的積分 private int bigPlaneScore。 private float play_bt_w。 // 開始/暫停游戲的按鈕圖片 private Bitmap missile_bt。 private float butt