版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 學(xué)士學(xué)位論文</b></p><p> 基于Android平臺的“跳吧”游戲的設(shè)計與實現(xiàn)</p><p><b> 設(shè)計人: </b></p><p><b> 指導(dǎo)教師:</b></p><p><b> 所屬系部</b
2、></p><p><b> 專業(yè)班級</b></p><p> 2014 年 6月 7 日</p><p> 畢業(yè)設(shè)計(論文)任務(wù)書</p><p> 學(xué)院: 計算機科學(xué)與技術(shù)學(xué)院 </p><p><b> 摘 要</b><
3、;/p><p> 隨著手機行業(yè)的發(fā)展,手機游戲以更簡潔方便的形式深入人們的日常生活,成為人們在任何非工作場合的娛樂方式?!疤伞笔莻€老幼皆宜的小游戲,不僅能夠讓玩家放松心情、減輕壓力,同時也能鍛煉玩家眼力與手部靈活性。</p><p> 本系統(tǒng)是基于Android操作系統(tǒng)開發(fā)的,利用Eclipse3.5環(huán)境和JAVA語言實現(xiàn)的。經(jīng)過可行性研究,需求分析,總體設(shè)計,詳細(xì)設(shè)計,編碼實現(xiàn)和測試,
4、從而實現(xiàn)了本系統(tǒng)的設(shè)計。本文對每一個開發(fā)環(huán)節(jié)進(jìn)行了詳細(xì)分析和和闡述。本系統(tǒng)實現(xiàn)的功能有主角移動功能、隨機產(chǎn)生不同踏板和加分物品功能、血條功能、重力感應(yīng)功能等。</p><p> 本系統(tǒng)在Android SDK虛擬機和安卓真機ZTEU930HD下測試通過,界面友好,使用方便。</p><p> 關(guān)鍵詞 游戲設(shè)計;Android;Java</p><p> The
5、 Design and Implementation of Jumping Game Base On Android Platform </p><p> Author:Cao Jianqiang Tutor:Liu Aiqin</p><p><b> Abstract</b></p><p> With the developme
6、nt of the mobile phone industry, mobile games have more simple and convenient form in-depth people's daily lives, as people in any non-work occasions of entertainment. "Jumping game " is a small game for al
7、l ages, not only allows players to relax and reduce stress, but also to exercise player’s eyes and flexibility of player’s hand. </p><p> The system is based on the Android operating system developed, using
8、 Eclipse3.5 environment and JAVA language. After a feasibility study, requirements analysis, design, detailed design, coding and testing to achieve the design of the system.this paper have detailed analysis and elaborati
9、on for the each link of development . The system function can be achieved protagonist mobile features, randomly generated different footboard and processing of Bonus items function, blood of the function, gravity</p&g
10、t;<p> This system has been tested under the Android SDK virtual machine and real machine ZTEU930HD ,friendly interface and easy to use. </p><p> Keywords game design; Android; Java</p><
11、p><b> 目 錄</b></p><p> 第一章 系統(tǒng)概述1</p><p> 1.1 游戲開發(fā)背景及意義1</p><p> 1.1.1 開發(fā)背景1</p><p> 1.1.2 開發(fā)意義1</p><p> 1.2 開發(fā)平臺介紹2</p>
12、<p> 1.2.1 Eclipse2</p><p> 1.2.2 ADT2</p><p> 1.2.3 JDK2</p><p> 1.3 Android操作系統(tǒng)結(jié)構(gòu)2</p><p> 1.3.1 Android操作系統(tǒng)介紹2</p><p> 1.3.2 Android操作
13、系統(tǒng)的優(yōu)點3</p><p> 1.3.3 Android系統(tǒng)結(jié)構(gòu)3</p><p> 1.3.4 Android應(yīng)用程序組成部分4</p><p> 第二章 可行性分析6</p><p><b> 2.1編寫目的6</b></p><p> 2.2 可行性研究任務(wù)6&l
14、t;/p><p> 2.2.1技術(shù)可行性6</p><p> 2.2.2經(jīng)濟可行性7</p><p> 2.2.3操作可行性7</p><p> 2.3 可行性研究結(jié)論7</p><p> 第三章 需求分析8</p><p> 3.1需求分析的意義8</p>&
15、lt;p> 3.2游戲功能需求8</p><p> 3.3可靠性和可用性需求8</p><p><b> 3.4 用例圖9</b></p><p> 第四章 總體設(shè)計10</p><p> 4.1 總體設(shè)計的目標(biāo)和意義10</p><p> 4.2 功能模塊的劃分10
16、</p><p> 4.3 時序圖11</p><p> 第五章 詳細(xì)設(shè)計12</p><p> 5.1詳細(xì)設(shè)計的目的和意義12</p><p> 5.2總程序流程圖12</p><p> 5.3 隨機產(chǎn)生踏板14</p><p> 5.4 血條參數(shù)的設(shè)置15</p
17、><p> 5.5 加分物品的生成15</p><p> 5.6 主角連續(xù)動作的生成16</p><p> 5.7 主角與踏板關(guān)系的判斷16</p><p> 5.8 主角與加分物品關(guān)系的判斷16</p><p> 第六章 開發(fā)平臺的搭建17</p><p> 6.1 JAVA
18、虛擬機的安裝17</p><p> 6.1.1JDK的安裝17</p><p> 6.1.2 Java環(huán)境變量配置18</p><p> 6.2 Eclipse的安裝18</p><p> 6.2.1 安裝SDK18</p><p> 6.2.2 Eclipse的安裝19</p>&
19、lt;p> 第七章 編碼實現(xiàn)21</p><p> 7.1 編碼的目的21</p><p> 7.2 游戲截圖21</p><p> 7.3 游戲功能的實現(xiàn)22</p><p> 7.3.1主角動作的實現(xiàn)22</p><p> 7.3.2隨機產(chǎn)生踏板23</p><p&
20、gt; 7.3.3下一個踏板的生成25</p><p> 7.3.4隨機生成加分物品25</p><p> 7.3.5處理主角和踏板的關(guān)系26</p><p> 7.3.6判斷主角與加分物品的關(guān)系28</p><p> 7.3.7重力感應(yīng)系統(tǒng)29</p><p> 7.3.8游戲難度的提升29&
21、lt;/p><p> 7.3.9 設(shè)置實現(xiàn)29</p><p> 第八章 系統(tǒng)測試31</p><p> 8.1 測試的目的及意義31</p><p> 8.2測試步驟32</p><p> 8.2.1 模擬器測試32</p><p> 8.2.2 真機測試34</
22、p><p> 8.3 測試結(jié)果分析35</p><p><b> 結(jié)束語37</b></p><p><b> 致 謝38</b></p><p><b> 參考文獻(xiàn)39</b></p><p> 附錄 外文翻譯40</p>
23、<p><b> 系統(tǒng)概述</b></p><p> 1.1 游戲開發(fā)背景及意義</p><p> 1.1.1 開發(fā)背景</p><p> 手機游戲的出現(xiàn)是為了娛樂心神,并隨著移動終端和移動通信網(wǎng)絡(luò)的不斷進(jìn)步,手機游戲也正在經(jīng)歷由簡單到復(fù)雜的進(jìn)化過程。從全球來看,移動終端的娛樂服務(wù)被認(rèn)為是帶動移動數(shù)據(jù)業(yè)務(wù)快速發(fā)展的重要力量。
24、作為手機娛樂服務(wù)的重要內(nèi)容之一,近年來,伴隨著移動網(wǎng)絡(luò)和移動終端性能的不斷提高與完善,尤其是智能手機的出現(xiàn),手機游戲業(yè)務(wù)呈現(xiàn)快速增長趨勢。</p><p> 近幾年來,手機游戲快速發(fā)展的同時按內(nèi)容可分為:角色扮演類、冒險類、格斗類、體育競技類、電影改版類、棋牌類、益智類、模擬類。手機游戲種類已成為人類線上娛樂生活的不可缺少的最主流的載體而存在,各類智能手機伴隨著PC網(wǎng)絡(luò)游戲為基礎(chǔ)、3網(wǎng)絡(luò)的不斷變化為措施的條件下
25、大力迅猛發(fā)展手機網(wǎng)絡(luò)游戲。雖然手機游戲的用戶越來越多,豐富多彩的游戲種類給玩家?guī)砹烁嗟倪x擇,但是我國的手機游戲行業(yè)的發(fā)展現(xiàn)狀并不樂觀,主要因素有:(1)高質(zhì)量游戲軟件開發(fā)公司和人才的貧乏,導(dǎo)致無優(yōu)秀游戲打入市場。(2)游戲創(chuàng)意的匱乏。大多游戲都只是一味的跟風(fēng),看到某個游戲成功贏得市場,便改換場景風(fēng)格,人物造型、故事背景等,其游戲核心一沉不變的思維理念會使得玩家產(chǎn)生審美疲勞。</p><p> 隨著Andro
26、id游戲的商業(yè)模式越來越凸顯,人們對移動終端的休閑娛樂功能需求越來越大,移動終端上的游戲已成為成為現(xiàn)代人們娛樂生活中不可或缺的。游戲應(yīng)用服務(wù)市場促使手機平臺的不斷提升而日新月異。在未來的游戲產(chǎn)品能否脫穎而出,一切取決于你能玩出什么花樣來,這將激發(fā)更多的開發(fā)商和制作人員攻堅克難創(chuàng)作出高質(zhì)量的作品,而面對手機游戲自身的趣味性、易掌握性、可中斷性、交互性、游戲商家也將面臨亙古未見得激烈競爭。由此可見,手機已是人們?nèi)粘I钪忻懿换蛉钡男蓍e娛樂方
27、式。</p><p> 1.1.2 開發(fā)意義</p><p> 在人們的生活中,大多數(shù)人都已離不開手機,而大多數(shù)手機用戶選擇智能手機,開發(fā)Android游戲旨在為人們?nèi)粘I钐砑痈嗟膴蕵贩绞剑舜卧O(shè)計出一個能夠在任何環(huán)境任何時間放松心情娛樂心身的單機游戲,通過簡單易操作的Android游戲幫助手機用戶打發(fā)閑暇時間、娛樂心身、放松心情。</p><p> 1
28、.2 開發(fā)平臺介紹</p><p> “跳吧”游戲開發(fā)平臺為Eclipse4.3.2 + ADT22.6.2 + JDK1.7.0_51,模擬測試平臺為Android SDK模擬器,真機測試平臺為ZTEU930HD。</p><p> 1.2.1 Eclipse</p><p> Eclipse是不僅僅是成為專門開發(fā)JAVA程序的IDE環(huán)境,根據(jù)Eclipse
29、的體系結(jié)構(gòu),通過開發(fā)插件,它能擴展到任何語言的開發(fā),甚至能成為圖片繪制的工具。Eclipse是一個開放源代碼的項目,任何人都可以下載 Eclipse 的源代碼,并且在此基礎(chǔ)上開發(fā)自己的功能插件。也就是說未來只要有人需要,就會有建立在Eclipse之上的C++,JAVA,Python等語言的開發(fā)插件出現(xiàn)。同時可以通過開發(fā)新的插件擴展現(xiàn)有插件的功能??梢詿o限擴展,而且有著統(tǒng)一的外觀,操作和系統(tǒng)資源管理,這也正是 Eclipse的潛力所在。在
30、本項目中,Eclipse正是通過第三方插件—ADT實現(xiàn)了開發(fā) Android 應(yīng)用。</p><p> 1.2.2 ADT </p><p> ADT是英文 Android Development Tools 的簡稱,即Android開發(fā)工具包。</p><p> ADT是Eclipse中構(gòu)建Android應(yīng)用程序IDE插件,ADT擴展了Eclipse的功能,
31、讓開發(fā)人員快速建立新的Android項目、創(chuàng)建應(yīng)用程序的用戶界面。ADT可以幫助Eclipse找到Android sdk,再加上Android框架的API組件調(diào)試使用Android SDK工具,以便APK分發(fā)給應(yīng)用程序。 ADT大大減輕Android應(yīng)用程序的開發(fā)工作量,工具集成XML編輯器,將給開發(fā)人員一個令人難以置信的開發(fā)Android應(yīng)用環(huán)境。使用ADT之前,必須確認(rèn)已經(jīng)安裝了Eclipse以及同Eclipse IDE兼容版本的A
32、ndroid SDK。</p><p><b> 1.2.3 JDK</b></p><p> JDK(Java Development Kit) 是 Java 語言的軟件開發(fā)工具包(SDK)。有SE、EE、ME三個版本。</p><p> 沒有JDK的話,無法編譯Java程序,如果想只運行Java程序,要確保已安裝相應(yīng)的JRE。<
33、/p><p> 1.3 Android操作系統(tǒng)結(jié)構(gòu)</p><p> 1.3.1 Android操作系統(tǒng)介紹</p><p> Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要在移動設(shè)備上工作,如智能手機和平板電腦,由Google公司和開放手機聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。Android操作系統(tǒng)最初由Andy Rubin開發(fā),主要支持手機。隨后Google
34、以Apache開源許可證的授權(quán)方式,發(fā)布了Android的源代碼。第一部Android智能手機發(fā)布于2008年10月。Android逐漸擴展到平板電腦及其他領(lǐng)域上。</p><p> 1.3.2 Android操作系統(tǒng)的優(yōu)點</p><p> 作為一個手機平臺,Android 在技術(shù)上的優(yōu)勢主要有以下幾點: </p><p> ?。?)全開放智能手機平臺 &l
35、t;/p><p> ?。?)多硬件平臺的支持 </p><p> (3)使用眾多的標(biāo)準(zhǔn)化技術(shù) </p><p> ?。?)核心技術(shù)完整,統(tǒng)一 </p><p> (5)完善的 SDK 和文檔 </p><p> ?。?)完善的輔助開發(fā)工具 </p><p> Android 的開發(fā)者可以在完備
36、的開發(fā)環(huán)境中進(jìn)行開發(fā),Android 的官方網(wǎng)站也提供了豐富的文檔、資料。這樣有利于 Android 系統(tǒng)的開發(fā)和運行在一個良好的生態(tài)環(huán)境中。 </p><p> 1.3.3 Android系統(tǒng)結(jié)構(gòu)</p><p> Android的系統(tǒng)結(jié)構(gòu)如下圖1.1所示:</p><p> 圖 1.1 Android系統(tǒng)結(jié)構(gòu)</p><p>
37、Android 的第 1 層次由 C 語言實現(xiàn),第 2 層次由 C 和/C++實現(xiàn),第 3、4 層次主要由 Java 代碼實現(xiàn)。第 1 層次和第 2 層次之間,從 Linux 操作系統(tǒng)的角度來來看,是內(nèi)核空間與用戶空間的分界線,第 1 層次運行于內(nèi)核空間,第 2、3、4 層次運行于用戶空間。 第 2 層次和第 3 層次之間,是本地代碼層和 Java 代碼層的接口。第 3 層次和第 4 層次之間,是 Android 的系統(tǒng) API 的接口
38、,對于 Android 應(yīng)用程序的開發(fā),第 3 層次以下的內(nèi)容是不可見的,僅考慮系統(tǒng) API 即可。由于 Android 系統(tǒng)需要支持 Java 代碼的運行,這部分內(nèi)容是 Android 的運行環(huán)境(Runtime),由虛擬機和Java 基本類組成。對于 Android 應(yīng)用程序的開發(fā),主要關(guān)注第 3 層次和第 4 層次之間的接口。</p><p> 1.3.4 Android應(yīng)用程序組成部分 </p&
39、gt;<p> 一般情況下,Android 應(yīng)用程序由以下 4 種組件構(gòu)成: </p><p> ? 活動(Activity)、廣播接收器(BroadcastReceiver)、服務(wù)(Service)、內(nèi)容提供者(Content Provider)。 </p><p> 活動是最基本的 Android 應(yīng)用程序組件,在應(yīng)用程序中,一個活動通常就是一個單獨的用戶界面。每
40、一個活動都被實現(xiàn)為一個獨立的類,并且從活動(Activity)基類中繼承而來,活動類將會顯示由視圖(View)控件組成的用戶接口,并對事件(Event)做出響應(yīng)。大多數(shù)的應(yīng)用程序都會有多個用戶界面,因此便會有多個相應(yīng)的活動。Android 的一個活動一般對應(yīng)界面中的一個屏幕顯示,可以理解成一個界面,每一個活動在界面上可以包含按鈕、文本框等多種可視的 UI 元素。</p><p> Android 系統(tǒng)中的不同組
41、件具有不同的生命周期。Android 根據(jù)每個進(jìn)程中運行的組件以及組件的狀態(tài)把進(jìn)程放入一個重要性分級(importance hierarchy)中。Android 進(jìn)程的重要性分級,可以理解成執(zhí)行的優(yōu)先級?;顒拥纳芷谌鐖D 1.2 所示。 </p><p> 運行活動的情景:當(dāng)一個活動被啟動時,活動中的 onCreate()、onStart()和 onResume()這 3 個方法被依次調(diào)用,活動對應(yīng)的界面
42、出現(xiàn)在屏幕上。 </p><p> ? 活動被“覆蓋”的情景:Android 的活動一般都占據(jù)一個完整的屏幕,從當(dāng)前活動啟動另外一個活動時,另一個活動將被啟動到前臺(Foreground),當(dāng)前活動轉(zhuǎn)入后臺(Background),這時活動的 onPasuse()方法將被調(diào)用,活動轉(zhuǎn)入后臺運行。如果活動變?yōu)椴豢梢?,還將調(diào)用 onStop()方法。在轉(zhuǎn)入后臺onStop()是否被調(diào)用取決于活動是否被完全覆蓋,在
43、新的活動有透明部分時,轉(zhuǎn)入后臺的活動依然“可見”,其他情況下(較多數(shù)的情況)活動均進(jìn)入不可見狀態(tài)(被完全覆蓋)。 </p><p> ? 活動被恢復(fù)的情景:當(dāng)界面上最前面的活動退出后,它所覆蓋的活動將被恢復(fù),這時 onResume()方法將被調(diào)用,活動重新轉(zhuǎn)入前臺運行。 </p><p> ? 活動完全退出的情景:當(dāng)使用回退(Back)按鈕退出活動時,onDestroy()方法將被
44、調(diào)用,活動關(guān)閉。如果系統(tǒng)缺少內(nèi)存時,也會殺死(kill)后臺的活動,其中優(yōu)先殺死不可見的活動,可見的活動一般不會被殺死。</p><p> 圖 1.2 活動的生命周期</p><p><b> 可行性分析</b></p><p><b> 2.1編寫目的</b></p><p> 可行性研
45、究的目的是目標(biāo)系統(tǒng)是否值得去開發(fā),怎樣才能達(dá)到這個目的。</p><p> 一個項目的開發(fā)需要仔細(xì)分析,看它在目前的情況下是否可行,如果一個項目開發(fā)它具有很好的背景和意義,但是在經(jīng)濟上或者是技術(shù)上是不可行的,那么它也只能稱之為不能實現(xiàn)的項目。</p><p> 2.2 可行性研究任務(wù)</p><p> 2.2.1技術(shù)可行性 </p><p&
46、gt; 確?,F(xiàn)有的技術(shù)是否能解決本該開發(fā)項目:系統(tǒng)采用JAVA語言開發(fā),Eclipse作為Android開發(fā)環(huán)境。ADT插件提供了一系列圖形用戶界面組件進(jìn)行界面編程,所以在技術(shù)上可行。Java是一種可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計語言,是由Sun Microsystems公司推出的Java程序設(shè)計語言和Java平臺的總稱。Java自面世后就非常流行,發(fā)展迅速,對C++語言形成了有力沖擊。Java 技術(shù)具有卓越的通用性、高效性
47、、平臺移植性和安全性,廣泛應(yīng)用于個人PC、數(shù)據(jù)中心、游戲控制臺、科學(xué)超級計算機、移動電話和互聯(lián)網(wǎng),同時擁有全球最大的開發(fā)者專業(yè)社群。在全球云計算和移動互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢和廣闊前景。</p><p> Java是目前使用最為廣泛的網(wǎng)絡(luò)編程語言之一。它具有簡單,面向?qū)ο?,穩(wěn)定,與平臺無關(guān),解釋型,多線程,動態(tài)等特點。Java語言有以下幾點優(yōu)點:</p><p>
48、面向?qū)ο蟮木幊谈先说乃季S模式,使人們更容易編寫程序。</p><p> 內(nèi)置對多線程的支持。</p><p> Java程序的安全性。當(dāng)你準(zhǔn)備從網(wǎng)絡(luò)上下載一個程序時,你最大的擔(dān)心是程序中含有惡意的代碼,比如試圖讀取或刪除本地機上的一些重要文件,甚至該程序是一個病毒程序等。當(dāng)你使用支持Java的瀏覽器時,你可以放心地運行Java的小應(yīng)用程序 Java Applet ,不必?fù)?dān)心病毒的感
49、染和惡意的企圖,Java小應(yīng)用程序?qū)⑾拗圃?Java運行環(huán)境中,不允許它訪問計算機的其它部分。</p><p> Java 程序的基本組成單元就是類,有些類是自己編寫的,有一些是從類庫中引入的,而類又是運行時動態(tài)裝載的,這就使得 Java 可以在分布環(huán)境中動態(tài)地維護程序及類庫,而不像 C++那樣,每當(dāng)其類庫升級之后,相應(yīng)的程序都必須重新修改,編譯。</p><p> 因此我覺得Java
50、程序語言該技術(shù)已成熟,采用JAVA編程語言是可行的。</p><p> 2.2.2經(jīng)濟可行性</p><p> 由于“跳吧”游戲作為畢業(yè)設(shè)計進(jìn)行開發(fā),有本人親自開發(fā),成本不會太高,所以經(jīng)濟上是可行的。 </p><p> 2.2.3操作可行性</p><p> 確定軟件產(chǎn)品是否能夠被最終的用戶所接受,用戶是否能操作最終的產(chǎn)品:該游戲在
51、方便易操作的Android手機上運行,方便于玩家操作。</p><p> 2.3 可行性研究結(jié)論</p><p> 根據(jù)以上幾個方面的研究,在技術(shù)上、經(jīng)濟上和操作上都是可行的,本項目可進(jìn)行開發(fā)。</p><p><b> 需求分析</b></p><p> 3.1需求分析的意義</p><p&
52、gt; 為了開發(fā)出真正的滿足用戶需求的軟件產(chǎn)品,首先必須知道用戶的需求。為軟件需求的深入理解是軟件開發(fā)工作獲得成功的前提條件,不論人們把設(shè)計和編碼工作做得如何出色,不能真正的滿足用戶需求的程序只會令用戶失望,給開發(fā)者帶來煩惱。</p><p> 需求分析是軟件定義時期的最后一個階段,它的基本任務(wù)是準(zhǔn)確地回答“系統(tǒng)必須做什么”這個問題。</p><p><b> 3.2游戲功
53、能需求</b></p><p> 游戲能夠?qū)崿F(xiàn)讓玩家在游戲中放松心神、減輕壓力的作用,同時要求游戲中的精靈不斷變換,鍛煉玩家眼力與手部靈活性的功能。</p><p> 要求“跳吧”游戲能實現(xiàn)以下功能:</p><p> 主角移動功能。主角移動功能就是玩家利用手機重力感應(yīng)系統(tǒng)對其進(jìn)行左右移動操作。</p><p> 產(chǎn)生踏板
54、功能。系統(tǒng)可以隨機產(chǎn)生不同類型的踏板,這些踏板分為:穩(wěn)定踏板、帶刺踏板、左/右移動踏板、彈簧踏板、不穩(wěn)定踏板,并且這些踏板能夠以一定的速度向屏幕頂部移動;同時,帶刺踏板可以對主角造成一定的傷害,左/右移動踏板可以將主角向左/右移動,彈簧踏板會將主角向上彈起,不穩(wěn)定踏板會在主角站在上面時破碎,穩(wěn)定踏板不產(chǎn)生任何效果。</p><p> 產(chǎn)生加分物品。系統(tǒng)會隨機產(chǎn)生不同類型的加分物品,物品分值隨物品類別不同而不同,
55、且物品要停留一定時間再消失。</p><p> 設(shè)置功能。能夠?qū)τ螒蜻M(jìn)行一些簡單的設(shè)置,這些設(shè)置包括音效設(shè)置、震動設(shè)置、主角移動速度設(shè)置、輸入玩家名稱。</p><p> 血條功能。主角在踩到帶刺踏板時,血條減少一定的值,當(dāng)主角掉到屏幕下方時血條值歸零。</p><p> 排行榜功能。游戲可以跟據(jù)玩家的游戲得分按由高到低順序進(jìn)行排名次。</p>
56、<p> 3.3可靠性和可用性需求</p><p> 在游戲開發(fā)階段要求在windows 7操作系統(tǒng)、JAVA編程語言、Eclipse平臺下開發(fā),在Android SDK虛擬機和ZTEU930HD真機下測試運行。</p><p> 要求游戲能夠在Android 4.0.0及其以上版本、RAM為512MB的安卓手機上穩(wěn)定流暢運行,并要求游戲在運行過程中不能影響手機正常通信功能
57、及用戶手機上的其他應(yīng)用功能。</p><p><b> 3.4 用例圖</b></p><p> 在該游戲中玩家可操作游戲的功能有:通過重力感應(yīng)對游戲主角進(jìn)行左右移動、輸入玩家名稱、點擊返回按鈕、點擊重新開始按鈕、點擊退出按鈕、點擊開始按鈕、點擊排行榜按鈕、設(shè)置音效(開/關(guān))、設(shè)置主角移動速度、設(shè)置震動效果。游戲用例圖如圖3.3 。</p><
58、p><b> 圖 3.3 用例圖</b></p><p><b> 總體設(shè)計</b></p><p> 4.1 總體設(shè)計的目標(biāo)和意義</p><p> 經(jīng)過前面的需求分析,已經(jīng)確定了系統(tǒng)要做什么,總體設(shè)計的目的是為了實現(xiàn)現(xiàn)在怎么做??傮w設(shè)計的意義是為了更好地設(shè)計游戲讓后續(xù)的工作更好地高質(zhì)量工作。</p&
59、gt;<p> 4.2 功能模塊的劃分</p><p> 該游戲有人物模塊、踏板模塊、設(shè)置模塊、加分物品模塊、血條模塊、排行榜模塊,其中在設(shè)置模塊下包含有音效設(shè)置、震動效果設(shè)置、人物移動速度模塊、輸入玩家名稱模塊,其模塊劃分如下圖4.1。</p><p> 圖 4.1 功能模塊圖</p><p> 在主角移動模塊中要實現(xiàn)主角移動動作時顯示連續(xù)的
60、效果;踏板模塊是系統(tǒng)隨機產(chǎn)生的,含有不同類型的踏板;在設(shè)置模塊當(dāng)中玩家可以根據(jù)自己的喜好進(jìn)行音效設(shè)置(包含音效的開和關(guān))、震動效果設(shè)置、輸入玩家名稱和主角移動速度的設(shè)置;在加分物品模塊當(dāng)中,系統(tǒng)會隨機產(chǎn)生8中不同類型的加分物品,當(dāng)主角撿到加分物品時游戲成績增加,血條模塊當(dāng)中,每當(dāng)主角受到傷害時血條值將會減少一定的值;排行榜模塊是為了更好地顯示玩家排名。 </p><p><b> 4.3 時序圖&
61、lt;/b></p><p> 游戲大概操作流程為玩家點擊游戲圖標(biāo)進(jìn)入游戲主界面,然后點擊開始游戲進(jìn)行操作,等游戲結(jié)束后玩家在彈出的窗口輸入玩家名稱,然后點擊結(jié)束按鈕退出游戲,游戲時序圖如圖4.2 。</p><p><b> 圖4.2 時序圖</b></p><p><b> 詳細(xì)設(shè)計</b></p&g
62、t;<p> 5.1詳細(xì)設(shè)計的目的和意義</p><p> 詳細(xì)設(shè)計的目的是為了能夠確定具體地實現(xiàn)所要求的系統(tǒng),經(jīng)過前面的分析和設(shè)計,現(xiàn)應(yīng)該對目標(biāo)系統(tǒng)得出詳細(xì)的描述,并設(shè)計出詳細(xì)的方案,以便讓程序員能夠?qū)懗龈鼮楦哔|(zhì)量的程序代碼。</p><p><b> 5.2總程序流程圖</b></p><p> 系統(tǒng)總程序流程圖如圖5
63、.1所示。</p><p> 圖 5.1 系統(tǒng)總流程圖</p><p> 系統(tǒng)開始時先進(jìn)行判斷是否為開始游戲、是否設(shè)置游戲參數(shù)、是否查看排名、是否退出游戲,然后系統(tǒng)根據(jù)選擇進(jìn)行相應(yīng)的操作,如果選擇是開始游戲則做出開始游戲的動作直到游戲結(jié)束并輸入玩家名稱,點擊返回按鈕;若選擇為設(shè)置游戲則對游戲的各項參數(shù)進(jìn)行設(shè)置,然后點擊返回按鈕;加入選擇排名則系統(tǒng)顯示玩家成績與排名,然后點擊返回按鈕。&
64、lt;/p><p> 圖 5.2 游戲流程圖</p><p> 游戲流程圖如圖5.2所示,當(dāng)點擊開始游戲時,系統(tǒng)判斷玩家接觸到的踏板類型,然后根據(jù)踏板的類型做出不同的效果,當(dāng)玩家左右移動時碰到不穩(wěn)定踏板時,踏板破碎;當(dāng)為彈簧踏板時玩家被彈起;當(dāng)為左右移動踏板時,玩家隨踏板左右移動;當(dāng)為帶刺踏板時,玩家血條將會減少一定的值;當(dāng)玩家血條為零或者玩家直接調(diào)到屏幕下面則游戲結(jié)束。</p>
65、;<p> 圖 5.3 游戲設(shè)置流程圖</p><p> 當(dāng)選擇游戲設(shè)置時,玩家可以對游戲參數(shù)進(jìn)行設(shè)置,其設(shè)置流程圖如圖5.3所示。</p><p> 當(dāng)選擇設(shè)置音效時,在游戲設(shè)置界面,設(shè)置音效的開/關(guān)。當(dāng)選擇為設(shè)置人物移動速度時,在游戲設(shè)置界面通過左右滑動調(diào)節(jié)線條來調(diào)節(jié)游戲角色的移動速度,當(dāng)選擇為錄入玩家的名稱時在設(shè)置界面文本框內(nèi)輸入玩家的名稱,然后點擊退出按鈕進(jìn)行保
66、存設(shè)置并退出到游戲主界面,或者當(dāng)點擊設(shè)置界面的返回按鈕時返回游戲主界面。</p><p> 5.3 隨機產(chǎn)生踏板</p><p> 系統(tǒng)隨機產(chǎn)生0到19數(shù)字,當(dāng)隨機數(shù)在0-2之間時游戲生成不穩(wěn)定踏板,隨機數(shù)在3-5之間時游戲生成彈簧踏板,隨機數(shù)在6-11之間時游戲生成帶刺踏板,當(dāng)隨機數(shù)在12-13之間時游戲生成左移動踏板,當(dāng)隨機數(shù)在14-15之間時游戲生成右移動踏板,當(dāng)隨機數(shù)在16-1
67、9之間時游戲生成穩(wěn)定踏板。其踏板產(chǎn)生機制如圖5.4所示。</p><p> 圖 5.4 踏板的產(chǎn)生</p><p> 5.4 血條參數(shù)的設(shè)置</p><p> 為了游戲更加吸引玩家,同時考慮到游戲的難易程度,玩家在游戲中的心理作用,現(xiàn)將游戲的血條總參數(shù)設(shè)置為18,也就是說游戲主角的總生命值為18,當(dāng)游戲主角每次收到傷害時,血條值減少3,也就是說每當(dāng)玩家受到一次
68、傷害時,游戲主角的生命值減少3,這樣當(dāng)玩家受到傷害6次游戲?qū)⒔Y(jié)束,或者當(dāng)玩家直接掉到屏幕下面時游戲主角的生命值為0,游戲結(jié)束。</p><p> 5.5 加分物品的生成</p><p> 為了游戲的有趣性,更好的讓玩家放松,在游戲中得到更大的樂趣,設(shè)置加分機制,在游戲中將隨機產(chǎn)生香蕉、蛋糕、西紅柿、桃子、草莓、山果、梨子、面包。每個加分物品的分值如下:</p><p
69、> 面包 ——1 桃子 ——5</p><p> 山果 ——4 草莓 ——6 </p><p> 西紅柿——10 梨 ——12 </p><p> 香蕉 ——15 蛋糕 ——20</p><p> 加
70、分物品隨機產(chǎn)生參數(shù)的設(shè)置,系統(tǒng)隨機產(chǎn)生23個數(shù),當(dāng)隨機數(shù)為0時游戲生成面包,當(dāng)隨機數(shù)為1時游戲生成蛋糕,隨機數(shù)在2-4之間時游戲生成香蕉,隨機數(shù)在5-7之間時游戲生成梨,當(dāng)隨機數(shù)在8-10之間時游戲生成西紅柿,當(dāng)隨機數(shù)在11-13之間時游戲生成桃,當(dāng)隨機數(shù)在14-17之間時游戲生成草莓,當(dāng)隨機數(shù)在18-21之間時游戲生成山果。 </p><p> 5.6 主角連續(xù)動作的生成</p><
71、p> 首先利用if語句判斷主角的狀態(tài)是出于何種狀態(tài),,然后根據(jù)所處的狀態(tài)將首張圖片賦給主角判斷形狀的變量,然后在判斷主角形狀變量與下一張的關(guān)系,然后再將下一張圖片賦給主角形狀變量直到最后一張,最后通過循環(huán)語句和系統(tǒng)定時器來控制動作的發(fā)生和結(jié)束。</p><p> 5.7 主角與踏板關(guān)系的判定</p><p> 當(dāng)系統(tǒng)隨機生成六中不同類型的踏板時,如何判斷主角與踏板發(fā)生碰撞呢?下
72、面是解決主角與踏板關(guān)系的實現(xiàn)方法。</p><p> 給主角定義一個主角狀態(tài)變量、同時定義踏板類型變量。首先判斷主角與踏板碰撞效果,利用if語句判斷主句坐標(biāo)與踏板坐標(biāo)的關(guān)系,具體如下:</p><p> 當(dāng)主角最大Y軸值大于等于踏板Y軸最小值,同時主角Y軸最大值小于踏板Y軸最大值,同時主角最大X值大于踏板X軸最小值,并且主角X軸最小值小于踏板X軸最大值時為主角和踏板發(fā)生了碰撞。<
73、/p><p> 然后再通過主角狀態(tài)變量與踏板類型變量的關(guān)系來判斷主角與何種踏板發(fā)生碰撞并作出相應(yīng)的效果。</p><p> 5.8 主角與加分物品關(guān)系的判定</p><p> 判斷主角與加分物品的關(guān)系和判斷主角與踏板關(guān)系的方法基本相似,都是通過坐標(biāo)進(jìn)行判斷,當(dāng)主角最大Y軸值大于等于加分物品Y軸最小值,同時主角Y軸最大值小于加分物品Y軸最大值,同時主角最大X值大于加
74、分物品X軸最小值,并且主角X軸最小值小于加分物品X軸最大值時為主角和加分物品發(fā)生了碰撞。</p><p><b> 開發(fā)平臺的搭建</b></p><p> 6.1 JAVA虛擬機的安裝</p><p> 6.1.1JDK的安裝</p><p> 下載jdk1.7.0_51軟件,打開軟件進(jìn)行安裝,如圖6.1、6.
75、2。</p><p> 圖 6.1 JDK的安裝</p><p> 圖 6.2 JDK完成安裝</p><p> 6.1.2 Java環(huán)境變量配置</p><p> 1.打開我的電腦--屬性--高級--環(huán)境變量 ,如圖6.3。</p><p> 圖6.3 配置Java環(huán)境變量</p><p
76、> 2.新建系統(tǒng)變量JAVA_HOME 和CLASSPATH </p><p> 變量名:JAVA_HOME </p><p> 變量值:C:\Program Files\Java\jdk1.7.0</p><p> 變量名:CLASSPATH </p><p> 變量值:.;%JAVA_HOME%\lib\dt.jar;%J
77、AVA_HOME%\lib\tools.jar;</p><p> 3. 選擇“系統(tǒng)變量”中變量名為“Path”的環(huán)境變量,雙擊該變量,把JDK安裝路徑中bin目錄的絕對路徑,添加到Path變量的值中,并使用半角的分號和已有的路徑進(jìn)行分隔。 </p><p><b> 變量名:Path </b></p><p> 變量值:%JAVA_HO
78、ME%\bin;%JAVA_HOME%\jre\bin;</p><p> 6.2 Eclipse的安裝</p><p> 下載Eclipse4.3.2 、 ADT22.6.2 、Android SDK。</p><p> 6.2.1 安裝SDK</p><p> 點擊Android SDK進(jìn)行安裝,如圖6.4。</p>
79、<p> 圖 6.4 安裝SDK</p><p> 完成安裝后,打開SDK下載相應(yīng)的Android操作系統(tǒng)版本,如圖6.5。</p><p> 圖 6.5 安裝Android操作系統(tǒng)</p><p> 6.2.2 Eclipse的安裝</p><p> 1、點擊Eclipse安裝軟件,根據(jù)提示進(jìn)行安裝,安裝完成后,點擊h
80、elp-->install new software,然后點擊add,在彈出的窗口中點擊archive選擇ADT所在路徑,并在name除填入ADT名稱,然后點擊OK,根據(jù)提示進(jìn)行安裝ADT插件,如圖 4.6。</p><p> 圖 6.6安裝ADT插件</p><p> 點擊Window->preference,點擊Android選擇Browse選擇sdk所在路徑,點擊ap
81、ply然后點擊OK,如圖6.7。</p><p> 圖 6.7 添加SDK路徑</p><p><b> 編碼實現(xiàn)</b></p><p><b> 7.1 編碼的目的</b></p><p> 通過編碼把軟件設(shè)計結(jié)果翻譯成Java語言的程序,同時也是對設(shè)計的進(jìn)一步具體化,也是對所學(xué)知識的一
82、個具體體現(xiàn)。</p><p><b> 7.2 游戲截圖</b></p><p> 游戲截圖如下圖7.1,圖7.2,圖7.3,圖7.4。</p><p> 圖7.1 游戲主界面 圖 7.2 開始游戲界面</p><p> 圖 7.3 設(shè)置界面
83、 圖 7.4 游戲結(jié)束界面</p><p> 7.3 游戲功能的實現(xiàn)</p><p> 7.3.1主角動作的實現(xiàn)</p><p> 主角每完成一個完整的動作是由好多個分解動作組成,比如主角向左移動時,是由好幾個向左走動的單個動作構(gòu)成,那么判斷主角移動狀態(tài)并形成連續(xù)的動作的算法如下: </p><p> public int ge
84、tRoleSharp() {</p><p> if (mRoleStatus == UIModel.ROLE_STATUS_ON_FOOTBOARD) {</p><p> mRoleSharp = UIModel.ROLE_SHARP_STANDING;</p><p> return mRoleSharp;</p><p><
85、;b> }</b></p><p> mFrameCounter++;</p><p> if (mFrameCounter == mFrameDelay) {</p><p> mFrameCounter = 0;</p><p> if (mRoleStatus == UIModel.ROLE_STATUS_F
86、REEFALL) {</p><p> if (mRoleSharp == UIModel.ROLE_SHARP_FREEFALL_NO1) {</p><p> mRoleSharp = UIModel.ROLE_SHARP_FREEFALL_NO2;</p><p> } else if (mRoleSharp == UIModel.ROLE_SHARP_
87、FREEFALL_NO2) {</p><p> mRoleSharp = UIModel.ROLE_SHARP_FREEFALL_NO3;</p><p> } else if (mRoleSharp == UIModel.ROLE_SHARP_FREEFALL_NO3) {</p><p> mRoleSharp = UIModel.ROLE_SHARP_
88、FREEFALL_NO4;</p><p><b> } else {</b></p><p> mRoleSharp = UIModel.ROLE_SHARP_FREEFALL_NO1;</p><p><b> }</b></p><p> } else if (mRoleStatus
89、== UIModel.ROLE_STATUS_FREEFALL_RIGHT</p><p> || mRoleStatus == UIModel.ROLE_STATUS_ON_FOOTBOARD_RIGHT) {</p><p> if (mRoleSharp == UIModel.ROLE_SHARP_MOVE_RIGHT_NO1) {</p><p> m
90、RoleSharp = UIModel.ROLE_SHARP_MOVE_RIGHT_NO2;</p><p> } else if (mRoleSharp == UIModel.ROLE_SHARP_MOVE_RIGHT_NO2) {</p><p> mRoleSharp = UIModel.ROLE_SHARP_MOVE_RIGHT_NO3;</p><p>
91、; } else if (mRoleSharp == UIModel.ROLE_SHARP_MOVE_RIGHT_NO3) {</p><p> mRoleSharp = UIModel.ROLE_SHARP_MOVE_RIGHT_NO4;</p><p><b> } else {</b></p><p> mRoleSharp =
92、UIModel.ROLE_SHARP_MOVE_RIGHT_NO1;</p><p><b> }</b></p><p><b> } else {</b></p><p> if (mRoleSharp == UIModel.ROLE_SHARP_MOVE_LEFT_NO1) {</p><p
93、> mRoleSharp = UIModel.ROLE_SHARP_MOVE_LEFT_NO2;</p><p> } else if (mRoleSharp == UIModel.ROLE_SHARP_MOVE_LEFT_NO2) {</p><p> mRoleSharp = UIModel.ROLE_SHARP_MOVE_LEFT_NO3;</p><
94、p> } else if (mRoleSharp == UIModel.ROLE_SHARP_MOVE_LEFT_NO3) {</p><p> mRoleSharp = UIModel.ROLE_SHARP_MOVE_LEFT_NO4;</p><p><b> } else {</b></p><p> mRoleSharp
95、= UIModel.ROLE_SHARP_MOVE_LEFT_NO1;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> return mRoleSharp;</p><
96、;p><b> }</b></p><p> 7.3.2隨機產(chǎn)生踏板</p><p> 在游戲中隨機生成20個隨機數(shù),并根據(jù)詳細(xì)設(shè)計里的規(guī)則形成相應(yīng)的踏板,其算法如下:</p><p> private void generateFootboard() {</p><p> int frameAmount
97、 = 1;</p><p> int frameDelay = 1;</p><p> int frameType = FOOTBOARD_TYPE_NORMAL;</p><p> switch (mRan.nextInt(20)) {</p><p><b> case 0:</b></p>&
98、lt;p><b> case 1:</b></p><p><b> case 2:</b></p><p> frameType = FOOTBOARD_TYPE_UNSTABLE;</p><p><b> break;</b></p><p><b&g
99、t; case 3:</b></p><p><b> case 4:</b></p><p><b> case 5:</b></p><p> frameType = FOOTBOARD_TYPE_SPRING;</p><p><b> break;</b
100、></p><p><b> case 6:</b></p><p><b> case 7:</b></p><p><b> case 8:</b></p><p><b> case 9:</b></p><p>
101、;<b> case 10:</b></p><p><b> case 11:</b></p><p> frameType = FOOTBOARD_TYPE_SPIKED;</p><p><b> break;</b></p><p><b> cas
102、e 12:</b></p><p><b> case 13:</b></p><p> frameType = FOOTBOARD_TYPE_MOVING_LEFT;</p><p> frameAmount = 2;</p><p> frameDelay = 15;</p><
103、;p><b> break;</b></p><p><b> case 14:</b></p><p><b> case 15:</b></p><p> frameType = FOOTBOARD_TYPE_MOVING_RIGHT;</p><p> f
104、rameAmount = 2;</p><p> frameDelay = 15;</p><p><b> break;</b></p><p><b> default:</b></p><p> frameType = FOOTBOARD_TYPE_NORMAL;}</p>
105、<p> mFootboardList.add(new Footboard(mRan.nextInt(mScreenAttribute.maxX</p><p> - BORDER_ATTRIBUTE_IMAGE_WIDTH), mScreenAttribute.maxY</p><p> + ROLE_ATTRIBUTE_HEITH, BORDER_ATTRIBUTE
106、_IMAGE_WIDTH,</p><p> BORDER_ATTRIBUTE_IMAGE_HEITH, frameType, frameAmount,</p><p> frameDelay));}</p><p> 隨機產(chǎn)生的踏板如圖7.1所示。</p><p> 圖 7.1 隨機產(chǎn)生的踏板</p><p>
107、; 7.3.3下一個踏板的生成</p><p> 當(dāng)隨機產(chǎn)生踏板時,在游戲當(dāng)中還要有生成下一個踏板的算法,生成下一個踏板的算法如下所示:</p><p> public int nextFrame() {</p><p><b> try {</b></p><p> return mFrameCounter
108、/ mFrameDelay;</p><p> } finally {</p><p> mFrameCounter++;</p><p> if (mFrameCounter == mFrameAmount * mFrameDelay) {</p><p> mFrameCounter = 0;</p><p&g
109、t;<b> }</b></p><p><b> }</b></p><p> 7.3.4隨機生成加分物品</p><p> 根據(jù)詳細(xì)設(shè)計規(guī)定,隨機生成25個隨機數(shù),根據(jù)相關(guān)規(guī)定生成加分物品,實現(xiàn)算法如下:</p><p> private void generateFood() {&l
110、t;/p><p> if (mCurFood.mTimeCounter > 0) {</p><p><b> return;</b></p><p><b> }</b></p><p> switch (mRan.nextInt(25)) {</p><p>&
111、lt;b> case 0:</b></p><p> mCurFood.mFoodReward = FOOD_1;</p><p><b> break;</b></p><p><b> case 1:</b></p><p> mCurFood.mFoodReward
112、 = FOOD_2;</p><p><b> break;</b></p><p><b> case 2:</b></p><p><b> case 3:</b></p><p><b> case 4:</b></p><
113、;p> mCurFood.mFoodReward = FOOD_3;</p><p><b> break;</b></p><p><b> case 5:</b></p><p><b> case 6:</b></p><p><b> case
114、 7:</b></p><p> mCurFood.mFoodReward = FOOD_4;</p><p><b> break;</b></p><p><b> case 8:</b></p><p><b> case 9:</b></p&g
115、t;<p><b> case 10:</b></p><p> mCurFood.mFoodReward = FOOD_5;</p><p><b> break;</b></p><p><b> case 11:</b></p><p><b&
116、gt; case 12:</b></p><p><b> case 13:</b></p><p> mCurFood.mFoodReward = FOOD_6;</p><p><b> break;</b></p><p><b> case 14:</b
117、></p><p><b> case 15:</b></p><p><b> case 16:</b></p><p><b> case 17:</b></p><p> mCurFood.mFoodReward = FOOD_7;</p>&
118、lt;p><b> break;</b></p><p><b> case 18:</b></p><p><b> case 19:</b></p><p><b> case 20:</b></p><p><b> cas
119、e 21:</b></p><p> mCurFood.mFoodReward = FOOD_8;</p><p><b> break;</b></p><p><b> default:</b></p><p> mCurFood.mFoodReward = FOOD_NON
120、E;</p><p><b> return;</b></p><p><b> }</b></p><p> mCurFood.mMinX = mRan</p><p> .nextInt((mScreenAttribute.maxX - FOOD_ATTRIBUTE_IMAGE_SIZE
121、));</p><p> mCurFood.mMinY = mRan</p><p> .nextInt((mScreenAttribute.maxY - FOOD_ATTRIBUTE_IMAGE_SIZE));</p><p> mCurFood.mMaxX = mCurFood.mMinX + FOOD_ATTRIBUTE_IMAGE_SIZE;</
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于安卓平臺的手機計步器畢業(yè)論文
- 畢業(yè)論文——基于安卓坦克大戰(zhàn)游戲
- 基于安卓平臺的手機計步器畢業(yè)論文
- 基于安卓坦克大戰(zhàn)游戲畢業(yè)論文.doc
- 基于安卓平臺的手機計步器的設(shè)計-畢業(yè)論文
- 畢業(yè)論文--基于安卓系統(tǒng)的拼圖游戲設(shè)計
- 本科畢業(yè)論文基于安卓系統(tǒng)的拼圖游戲的設(shè)計與開發(fā)
- 基于安卓的音樂播放器開發(fā)-畢業(yè)論文
- 安卓游戲畢業(yè)設(shè)計論文
- 基于安卓平臺開發(fā)的移動應(yīng)用——用藥指南【畢業(yè)論文】
- 畢業(yè)論文范文——基于安卓平臺的手機助手設(shè)計與實現(xiàn)
- 畢業(yè)論文范文——基于安卓平臺的手機助手設(shè)計與實現(xiàn)
- 安卓游戲畢業(yè)設(shè)計--基于安卓的“經(jīng)營冷飲店”游戲設(shè)計
- 畢業(yè)論文---- 基于j2me的手機游戲開發(fā)
- 畢業(yè)設(shè)計(論文)+手機游戲開發(fā)-java畢業(yè)論文
- 基于安卓的手機貼身秘書系統(tǒng)的設(shè)計與實現(xiàn)——畢業(yè)論文
- 畢業(yè)論文——基于安卓系統(tǒng)的考勤系統(tǒng)
- 安卓手機旅游向?qū)脚_畢業(yè)論文(含外文翻譯)
- 基于安卓android手機平臺的記事本設(shè)計課程設(shè)計畢業(yè)論文
- 基于java+me的手機游戲畢業(yè)論文
評論
0/150
提交評論