畢業(yè)設(shè)計(論文)-基于Android的記數(shù)字游戲.doc_第1頁
畢業(yè)設(shè)計(論文)-基于Android的記數(shù)字游戲.doc_第2頁
畢業(yè)設(shè)計(論文)-基于Android的記數(shù)字游戲.doc_第3頁
畢業(yè)設(shè)計(論文)-基于Android的記數(shù)字游戲.doc_第4頁
畢業(yè)設(shè)計(論文)-基于Android的記數(shù)字游戲.doc_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

全套設(shè)計加扣 3012250582湖南軟件職業(yè)學(xué)院畢業(yè)設(shè)計畢業(yè)選題: 基于Android的記數(shù)字游戲: 指導(dǎo)教師: 學(xué)生姓名: 院系名稱: 軟件工程系 專業(yè)班級: 軟件技術(shù)Java1304 學(xué)生學(xué)號: 提交日期: 2015年12月 19日 目 錄第一章 緒論1.1 課題背景11.2 國內(nèi)外研究現(xiàn)狀21.3 課題研究意義21.4 論文結(jié)構(gòu)安排3第2章 基礎(chǔ)知識與開發(fā)技術(shù)2.1 Android技術(shù)簡介52.2 Java技術(shù)簡介11第3章 需求分析與系統(tǒng)概要設(shè)計3.1 可行性分析143.2 功能需求分析153.3 系統(tǒng)基本流程153.4 模塊設(shè)計及算法簡16第4章 系統(tǒng)詳細(xì)設(shè)計4.1 開發(fā)環(huán)境的搭建184.2 單項功能的實現(xiàn)194.3 算法詳細(xì)設(shè)計23第五章 系統(tǒng)測試與性能分析5.1 軟件測試275.2 游戲系統(tǒng)測試285.3 游戲性能分析29總結(jié)30參考文獻(xiàn)31致謝32 - I -第一章 緒 論1.1課題背景現(xiàn)代科學(xué)技術(shù)的發(fā)展,改變了人類的生活。作為新世紀(jì)的大學(xué)生,應(yīng)該站在時代發(fā)展的前沿,掌握現(xiàn)代科學(xué)技術(shù)知識,以適應(yīng)社會的發(fā)展。要做一名能夠獨立完成面臨的任務(wù)并且有創(chuàng)新意識的新型人才。下面談?wù)剶?shù)字記憶游戲設(shè)計基于的Android系統(tǒng)平臺。Android是一個基于Linux 核心(kernel)的開放手機平臺作業(yè)系統(tǒng)。與Windows Mobile、Symbian等手機作業(yè)系統(tǒng)處在同一級別。對于設(shè)備制造商來說,Android是一個免費的平臺。Android作業(yè)系統(tǒng)讓設(shè)備制造商免除每出一臺手機,就得被手機作業(yè)系統(tǒng)廠商限制的情況。對硬件開發(fā)廠商來說,Android也是個開放的平臺。只要廠商有能力,可以在這個平臺上自由加入特有的裝置或功能,不受手機作業(yè)系統(tǒng)廠商的限制。對于手持裝置的開發(fā)者來說,Android是個先進(jìn)的平臺。平臺上的應(yīng)用程式可相容于各種型號的Android 手機,免去為各種不同手機機型開發(fā)的困擾。Android平臺支援各種先進(jìn)的網(wǎng)路,具備繪圖、3D 處理等能力,可以給使用者提供更好的體驗。對于用戶來說,Android是一個用于手機的作業(yè)系統(tǒng)。用戶只要先申請一個免費的Google 帳戶即可。當(dāng)用戶想換一臺手機時,就可以在同樣使用Android作業(yè)系統(tǒng)平臺的不同廠牌手機之間選擇,并且很容易地將聯(lián)絡(luò)簿等個人資料轉(zhuǎn)換到新手機上。Android 在Linux 核心的基礎(chǔ)上,提供了各種合用的函數(shù)庫和一個完整的應(yīng)用程式框架。并采用較符合商用限制的Apache 版權(quán)。在Linux 核心的基礎(chǔ)上提供Google 自制的應(yīng)用程式運行環(huán)境(稱作Dalvik,與Sun 的J2ME 不同),并提供基于Eclipse 整合開發(fā)環(huán)境(IDE)的免費、跨平臺(Windows、Mac OS X、Linux) 開發(fā)工具(SDK),便于應(yīng)用程式開發(fā)者學(xué)習(xí)和使用。免費的跨平臺開發(fā)工具,讓具備一些物件導(dǎo)向觀念或視窗程式開發(fā)經(jīng)驗的開發(fā)者能在一定時間內(nèi)上手。從不同角度來說,Android 代表著一個嶄新的開放原始碼作業(yè)系統(tǒng)平臺、一個友善的免費應(yīng)用程式開發(fā)環(huán)境、一個與世界各地的程式開發(fā)者,站在相同起跑點上的公平競爭機會。而基于Android平臺的數(shù)字游戲作為一款經(jīng)典的益智小游戲,一直以來都被眾多的游戲愛好者喜歡,這個游戲,男女老少皆宜。游戲的吸引力主要在于:連連看游戲是一種意趣休閑的小游戲,不僅能調(diào)節(jié)精神,還能在游戲中鍛煉我們的眼力視野,注意力的專心程度,開發(fā)我們的思維能力,同時可以充實自己,向高等級挑戰(zhàn),培養(yǎng)我們面對困難時自己所具有攻克困難的信心。1.2國內(nèi)外研究現(xiàn)狀 手機游戲(Mobile Game或Wireless Game),是指消費者利用隨身攜帶并具有無線網(wǎng)絡(luò)聯(lián)機功能的智能移動終端設(shè)備,能隨時隨地來進(jìn)行的游戲。手機游戲最大的特點是其隨時隨地進(jìn)行游戲的便利性。這些年來,手機游戲市場有了很大的發(fā)展,手機游戲已成為使用率最高的手機娛樂應(yīng)用,占到各種手機娛樂應(yīng)用比例的78.4%。在美國,手機游戲作為美國手機用戶最喜歡的移動應(yīng)用之一,在iPhone和Android等智能終端推出后發(fā)展迅速。而在中國,中國市場上手機游戲數(shù)量已經(jīng)超過了美國人口數(shù)量”,這個結(jié)論來自中國游戲產(chǎn)業(yè)上半年調(diào)查報告,報告中指出,中國移動游戲市場實際銷售收入達(dá)到209.3億元人名幣,同比增長67.2%,而用戶規(guī)模為3.66億,同比增長12.5%。經(jīng)過多年的發(fā)展,第三代數(shù)字通信(3G)技術(shù)獲得了廣泛的接受,它為移動終端用戶帶來了更快的數(shù)據(jù)傳輸速率。隨著4G網(wǎng)絡(luò)的使用,移動終端不再僅是通訊網(wǎng)絡(luò)的終端,還將成為互聯(lián)網(wǎng)的終端。因此,移動終端的應(yīng)用軟件和需要的服務(wù)將會有很大的發(fā)展空間。隨著Android應(yīng)用的流行,網(wǎng)上出現(xiàn)了多種版本的數(shù)字游戲。如2048等等小游戲。通過對至11年小游戲行業(yè)市場熱點,結(jié)合新浪、搜狐、雅虎、網(wǎng)易調(diào)查發(fā)布的數(shù)據(jù)分析發(fā)現(xiàn),2014年小游戲熱點集中在數(shù)字游戲領(lǐng)域,從2007年起風(fēng)投對小游戲行業(yè)的投資案例明顯減少,小游戲行業(yè)的投資目標(biāo)主要集中在從事連連看小游戲企業(yè)和研發(fā)企業(yè),小游戲行業(yè)在經(jīng)歷了高峰期后正趨于平靜。 1.3課題研究意義現(xiàn)在小游戲、網(wǎng)頁游戲越來越受網(wǎng)民歡迎,除了玩的方法簡單外(不像其他游戲還需要注冊下載繁瑣過程),很多游戲不乏經(jīng)典。數(shù)字游戲就是典型了!不管你走到哪個游戲網(wǎng)站,數(shù)字游戲游戲總是排在受玩家歡迎排名的前5位,休閑、趣味、益智是連連看玩不厭的精華,且不分男女老少、工薪白領(lǐng),是一款適合大眾的經(jīng)典網(wǎng)絡(luò)休閑小游戲。不僅能調(diào)節(jié)精神,還能在游戲中鍛煉我們的眼力視野,注意力的專心程度,開發(fā)我們的思維能力,同時可以充實自己,向高等級挑戰(zhàn),培養(yǎng)我們面對困難時自己所具有攻克困難的信心。完成這次畢業(yè)設(shè)計,不僅可以提高我對知識的綜合運用能力,增加實現(xiàn)項目設(shè)計的經(jīng)驗,同時讓我深入地了解一個安卓游戲的基本制作過程以及各項功能是如何實現(xiàn)的,更拓寬了自己的知識面。通過完成一個比較完善的安卓游戲,我對圖像編輯、程序設(shè)計等各方面的知識有了更深的理解,也為以后的工作和學(xué)習(xí)打下了很好的鋪墊。1.4論文結(jié)構(gòu)安排整篇論文共分為五章,其主要內(nèi)容安排如下:第一章為緒論。介紹論文的選題背景,系統(tǒng)的基本功能的實現(xiàn)以及論文結(jié)構(gòu)的安排。包括課題的背景資料簡介、國內(nèi)外研究現(xiàn)狀、深入地介紹了課題研究的價值以及對未來的影響。為本系統(tǒng)的編寫調(diào)試提供了強大的理論依據(jù)。第二章為基礎(chǔ)知識和相關(guān)的開發(fā)技術(shù)。這部分主要是介紹實現(xiàn)系統(tǒng)的技術(shù)支撐體系和系統(tǒng)的開發(fā)方法。包括開發(fā)模型、Android技術(shù)和Java技術(shù)等,并且詳細(xì)介紹了Android的基本知識、特點、Android平臺的優(yōu)勢和手機游戲開發(fā)的市場價值以及用Java語言開發(fā)該游戲的詳細(xì)步驟。第三章為需求分析與系統(tǒng)概要設(shè)計。本章概要地闡述了游戲的體系結(jié)構(gòu),描述了各個功能模塊,并分析了系統(tǒng)功能與系統(tǒng)角色和流程分析,展示了本系統(tǒng)的流程圖,為下一章的系統(tǒng)的設(shè)計與實現(xiàn)打下基礎(chǔ)。第四章為系統(tǒng)詳細(xì)設(shè)計。這部分主要介紹了數(shù)字記憶游戲的各個功能是如何實現(xiàn)的,描述了系統(tǒng)的設(shè)計理念、基本流程和風(fēng)格定位,展示了各個模塊的模型和界面圖,全面深刻的解析了游戲所具有的全部功能及其實現(xiàn)的方法。對每個界面的設(shè)計以及思路進(jìn)行了詳細(xì)的解釋。第五章為系統(tǒng)測試與性能分析。描述了軟件測試的基本方法、測試的總類和測試的步驟,對游戲進(jìn)行了的系統(tǒng)測試和性能上的分析。第二章 基礎(chǔ)知識與開發(fā)技術(shù)這一章介紹了系統(tǒng)的開發(fā)環(huán)境和開發(fā)方法,并且詳細(xì)介紹了Android的基本知識、特點、Android平臺的優(yōu)勢和手機開發(fā)的市場價值以及Java技術(shù)簡介、開發(fā)的詳細(xì)步驟和游戲使用的主要技術(shù)問題。2.1 Android技術(shù)簡介2.1.1 Android基本知識Android是Google開發(fā)的基于Linux平臺的開源手機操作系統(tǒng)。它包括操作系統(tǒng)、用戶界面和應(yīng)用程序還有移動電話工作所需的全部軟件,而且不存在任何以往阻礙移動產(chǎn)業(yè)創(chuàng)新的專有權(quán)障礙。谷歌與開放手機聯(lián)盟合作開發(fā)了Android,這個聯(lián)盟由包括中國移動、摩托羅拉、高通、宏達(dá)和 T-Mobile 在內(nèi)的30多家技術(shù)和無線應(yīng)用的領(lǐng)軍企業(yè)組成。Android作為Google企業(yè)戰(zhàn)略的重要組成部分,將進(jìn)一步推進(jìn)“隨時隨地為每個人提供信息”這一企業(yè)目標(biāo)的實現(xiàn),Google的目標(biāo)是讓移動通信不依賴于設(shè)備甚至是平臺。Android一詞本意是指機器人,當(dāng)然現(xiàn)在大家都知道它是Google推出的開源手機操作系統(tǒng)。Android基于Linux平臺,由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,號稱是首個為移動終端打造的真正開放和完整的移動軟件。它是被一個由 30 多家科技公司和手機公司組成的“開放手機聯(lián)盟”共同研發(fā)的,這將大大降低新型手機設(shè)備的研發(fā)成本。完全整合的全移動功能性產(chǎn)品成為“開放手機聯(lián)盟”的最終目標(biāo)。Android軟件平臺主要由五部分構(gòu)成,它們分別是:關(guān)鍵應(yīng)用程序、應(yīng)用程序框架和組件、C/C +函數(shù)庫、Java程序運行環(huán)境、優(yōu)化了的Linux內(nèi)核。關(guān)鍵應(yīng)用程序。Android平臺內(nèi)包含一些關(guān)鍵應(yīng)用程序,如郵件收發(fā)客戶端程序、短信收發(fā)程序、日歷、網(wǎng)頁瀏覽器等,而更多有特色的Android應(yīng)用程序還有待于廣大開發(fā)者共同參與開發(fā)。應(yīng)用程序框架及組件。Android應(yīng)用程序開發(fā)基于框架和組件。Android本身已在其框架中提供了許多組件供應(yīng)用程序調(diào)用,開發(fā)者也可在開發(fā)應(yīng)用程序時順帶開發(fā)新的組件,并將該組件放入應(yīng)用程序框架中,以供自己和其它應(yīng)用程序調(diào)用。C/C +函數(shù)庫。Android應(yīng)用程序框架之下是一套C/C +函數(shù)庫,它們服務(wù)于Android應(yīng)用程序組件,其功能通過組件間接提供給開發(fā)者。這些函數(shù)庫包括::標(biāo)準(zhǔn)C函數(shù)庫、媒體功能庫、瀏覽器引擎、2D和3D圖形庫等2。Java程序運行環(huán)境。Android的Java程序運行環(huán)境包含一組Java核心函數(shù)庫及Dalvik虛擬機,它們有效地優(yōu)化了Java程序的運行過程。Linux內(nèi)核。Android系統(tǒng)平臺基于優(yōu)化了的Linux內(nèi)核,它提供諸如內(nèi)存管理、進(jìn)程管理、設(shè)備驅(qū)動等服務(wù),同時也是手機軟硬件的連接層。 Android應(yīng)用程序以各種組件(API)為基礎(chǔ)。API是Android軟件平臺的重要組成部分,也是開發(fā)Android應(yīng)用的關(guān)鍵所在。Android 在Linux 核心的基礎(chǔ)上,提供了各種合用的函數(shù)庫,和一個完整的應(yīng)用程式框架。并采用較符合商用限制的Apache 版權(quán)。當(dāng)前活動程序Activity。作為最常用的應(yīng)用程序組件,幾乎所有Activity都會通過創(chuàng)建U I窗口與用戶進(jìn)行交流。Activity具有生命周期,它包含運行、暫停、停止等幾個狀態(tài),狀態(tài)間的轉(zhuǎn)換可通過調(diào)用onCreate()、onStart()、onRestart()、onResume()、onFreeze()、onPause()、onStop()、onDestory()等方法來實現(xiàn)。要開啟新的activity,可以調(diào)用startActivity(Intent),或調(diào)用startSubActivity(Intent,int),后者通常和onActivityResult(int,int,String,Bundle)聯(lián)合使用,以從一個activity獲取某結(jié)果并返回給打開它的activity3。圖像顯示View。View是最基本的UI構(gòu)件,它在屏幕中占據(jù)一個矩形區(qū)域,可用來顯示文本、圖像等內(nèi)容,還可完成圖像事件處理4。常用的View方法有:inflate() (由XML 文件生成View)、onDraw (Canvas)(對View進(jìn)行填充) 、onMeasure (int,int)(測量View的高度和寬度)、onLayout()(完成View的布局)、onKeyDown(int, KeyEvent)(View中有按鍵操作時被調(diào)用)、onFocusChanged (boolean,int)(當(dāng)View得到或失去關(guān)注時被調(diào)用)、setOnClilckListener()(設(shè)置View點擊事件監(jiān)聽器)。View也包含一些子類,如:TextView(布局文件中的文本顯示)、EditText(布局文件中的文本編輯)、Button(按鈕)、ListView(顯示列表)。事件Intent。Intent抽象描述了想要執(zhí)行的某種操作,它與startActivity一起使用可以開啟新的activity,與startService一起使用可以開啟后臺服務(wù)。Intent最重要的作用還是加載activity,它是不同activity間的橋梁。Intent也可以被認(rèn)為是一種概括操作行為的數(shù)據(jù)結(jié)構(gòu),它主要包括action (動作)和data(數(shù)據(jù))兩部分,此外它還具有一些附加屬性如category(intent種類)、type (數(shù)據(jù)類型)等。常用的Intent方法有intent()(構(gòu)造intent)、addcategory() (添加intent類型)、getAction()(獲取intent動作)、getData()(獲取intent數(shù)據(jù))等。數(shù)據(jù)存取與共享機制ContentProvider:ContentProvider為應(yīng)用程序提供一些訪問方法,包括:Query(Uri,String ,String,String ,String,String,String)(數(shù)據(jù)信息的查詢) ,insert (Uri,Contentvalues) (在Content provider中加新數(shù)據(jù)),update(Uri, Contentvalues,String,String )(更新Content provide中的數(shù)據(jù)),Get type (Uri)(獲取數(shù)據(jù)類型)。其中,Uri標(biāo)明了ContentProvider存儲的數(shù)據(jù)類型,在執(zhí)行訪問方法時都需依據(jù)Uri作為路徑標(biāo)識來確定要訪問哪個ContentProvider5。后臺服務(wù)Service。Service是運行在后臺的應(yīng)用程序組件,不直接與用戶交互。當(dāng)前活動程序可以使用Context.StartService()開啟一項后臺服務(wù),還可以通過Context. bindService()與后臺服務(wù)通信。2.1.2 Android系統(tǒng)特點Android系統(tǒng)具有如下5個特點:1) 開放性。Google與開放手機聯(lián)盟合作開發(fā)了Android,Google通過與運營商、設(shè)備制造商、開發(fā)商和其他有關(guān)各方結(jié)成深層次的合作伙伴關(guān)系,希望通過建立標(biāo)準(zhǔn)化、開放式的移動電話軟件平臺,在移動產(chǎn)業(yè)內(nèi)形成一個開放式的生態(tài)系統(tǒng);2) 應(yīng)用程序無界限。Android上的應(yīng)用程序可以通過標(biāo)準(zhǔn)API(Application Programming Interface,應(yīng)用程序編程接口)訪問核心移動設(shè)備功能。通過互聯(lián)網(wǎng),應(yīng)用程序可以聲明它們的功能可供其他應(yīng)用程序使用;3) 應(yīng)用程序是在平等的條件下創(chuàng)建的。移動設(shè)備上的應(yīng)用程序可以被替換或擴展,即使是撥號程序或主屏幕這樣的核心組件;4) 應(yīng)用程序可以輕松地嵌入網(wǎng)絡(luò)。應(yīng)用程序可以輕松地嵌入HTML、JavaScript和樣式表,還可以通過WebView顯示網(wǎng)絡(luò)內(nèi)容;5) 應(yīng)用程序可以并行運行。Android是一種完整的多任務(wù)環(huán)境,應(yīng)用程序可以在其中并行運行。在后臺運行時,應(yīng)用程序可以生成通知以引動注意6。每個Android應(yīng)用程序都存在于它自己的世界之中:默認(rèn)情況下,每個應(yīng)用程序均運行于它自己的Linux進(jìn)程中。當(dāng)應(yīng)用程序中的任意代碼開始執(zhí)行時,Android啟動一個進(jìn)程,而當(dāng)不再需要此進(jìn)程而其它應(yīng)用程序又需要系統(tǒng)資源時,則關(guān)閉這個進(jìn)程。每個進(jìn)程都運行于自己的Java虛擬機(VM)中。所以應(yīng)用程序代碼實際上與其它應(yīng)用程序的代碼是隔絕的。默認(rèn)情況下,每個應(yīng)用程序均被賦予一個唯一的Linux用戶ID,并加以權(quán)限設(shè)置,使得應(yīng)用程序的文件僅對這個用戶、這個應(yīng)用程序可見。當(dāng)然,也有其它的方法使得這些文件同樣能為別的應(yīng)用程序所訪問。 使兩個應(yīng)用程序共有同一個用戶ID是可行的,這種情況下他們可以看到彼此的文件。從系統(tǒng)資源維護(hù)的角度來看,擁有同一個ID的應(yīng)用程序也將在運行時使用同一個Linux進(jìn)程,以及同一個虛擬機。2.1.3 Android手機平臺的優(yōu)勢現(xiàn)在常見的智能手機平臺有:Symbian、Windows Mobile、PALM、Blackberry、iOS等。Android平臺的優(yōu)勢主要體現(xiàn)在以下方面:1) 開放性Android平臺是開放性的平臺,允許任何移動終端廠商加入到Android 聯(lián)盟中來。顯著的開放性可以使其擁有更多的開發(fā)者。隨著用戶和應(yīng)用的日益豐富,一個嶄新的平臺也將很快走向成熟。開放性對于Android的發(fā)展而言,有利于積累人氣,這里的人氣包括消費者和廠商,而對于消費者來講,最大的受益正是豐富的軟件資源。開放的平臺也會帶來更大競爭,如此一來,消費者將可以用更低的價位購得心儀的手機。2) 掙脫運營商的束縛在過去很長的一段時間,手機應(yīng)用往往受到運營商制約,使用什么功能、接入什么網(wǎng)絡(luò),幾乎都要受到運營商的控制。自從Android上市,用戶可以更加方便地連接網(wǎng)絡(luò),因而運營商的制約減少。隨著EDGE、HSDPA這些2G至3G移動網(wǎng)絡(luò)的逐步過渡和提升,手機隨意接入網(wǎng)絡(luò)已不再是運營商口中的笑談。3) 豐富的硬件選擇這一點還是與Android平臺的開放性相關(guān)。由于Android 的開放性,眾多的廠商會推出千奇百怪,功能特色各異的多種產(chǎn)品。功能上的差異和特色,卻不會影響到數(shù)據(jù)同步、甚至軟件的兼容。例如如果你從諾基亞Symbian風(fēng)格手機一下改用蘋果iPhone,那么你可將Symbian中優(yōu)秀的軟件帶到iPhone上使用,聯(lián)系人等個人資料更是可以方便地轉(zhuǎn)移。4) 開發(fā)手機軟件不受任何限制Android平臺提供給第三方開發(fā)商一個十分寬泛、自由的環(huán)境。因此不會受到各種條條框框的阻擾??上攵?,如此一來會有多少新穎別致的軟件誕生。5) 無縫結(jié)合的Google應(yīng)用如今叱咤互聯(lián)網(wǎng)的Google已經(jīng)走過了10年度的歷史。從搜索巨人到全面的互聯(lián)網(wǎng)滲透,Google服務(wù)如地圖、郵件、搜索等已經(jīng)成為連接用戶和互聯(lián)網(wǎng)的重要紐帶,而Android平臺手機將無縫結(jié)合這些優(yōu)秀的Google服務(wù)。正因為Android具有以上的優(yōu)越性,所以2012年末數(shù)據(jù)顯示,僅正式推出兩年Android操作系統(tǒng)就將要超越稱霸十年的諾基亞Symbian系統(tǒng),使之躍居全球最受歡迎的智能手機平臺7。2.1.4 Android 手機游戲的市場價值隨著計算機技術(shù)和移動通信技術(shù)的快速發(fā)展,手機用戶的數(shù)量越來越多,用戶在挑選手機設(shè)備的時候己經(jīng)不再拘泥于基本的通話功能。而新的技術(shù)從某種程度上提高了手機設(shè)備處理數(shù)據(jù)的能力,因而可以在手機上添加許多新的功能,以滿足用戶多樣性需求。為此已經(jīng)有越來越多的研發(fā)機構(gòu)或部門著手研究開發(fā)手機應(yīng)用軟件。手機游戲作為手機上的應(yīng)用軟件類型之一,更是深受廣大用戶的喜愛。由于手機硬件資源有限、屏幕小、游戲時間短等特點,使得手機很適合運行那些劇情簡單、操作方便、有益于提高敏捷性和智力開發(fā)的游戲。Android平臺上的游戲相比應(yīng)用軟件,不需要進(jìn)行嚴(yán)格的市場細(xì)分,不需要針對目標(biāo)用戶量身定制。這是因為游戲玩家的核心需求是統(tǒng)一的,那就是:娛樂與打發(fā)時間(乃至更高層面的競技需求和群體認(rèn)同需求),這種需求附著于特定的社會發(fā)展階段,不受地域的限制,甚至于能夠穿透文化壁壘。因此,絕大多數(shù)種類的游戲都具備傳染性與普適性,每一個售出的游戲都將會點燃周圍潛在玩家的激情,最終吞噬整個需求市場8。由此可知,幾乎每一個Android手機用戶都是游戲的需求者,都是潛在的顧客,現(xiàn)今的n多萬Android用戶不過是冰山一角,隨著Android手機市場進(jìn)一步壯大,游戲的市場容量將具備更大的增長空間。綜上所述,Android平臺相比其他智能手機平臺有許多優(yōu)勢,這些優(yōu)勢使Android發(fā)展迅速,而Android游戲作為Android手機最主要的應(yīng)用,其市場價值有目共睹。鑒于現(xiàn)階段Android游戲研究開發(fā)的人數(shù)較少,游戲產(chǎn)品數(shù)量也較小的現(xiàn)狀,對Android游戲的研究具有很大的意義,不僅僅需要研究Android游戲開發(fā)中的圖形圖像、人工智能等關(guān)鍵技術(shù),更重要的是研究Android游戲的開發(fā)框架,以及Android游戲開發(fā)不同于別的平臺游戲開發(fā)的相關(guān)技術(shù)實現(xiàn)等內(nèi)容。受益于近年來移動通信市場的持續(xù)快速增長,我國手機產(chǎn)業(yè)高速發(fā)展,成為新的國民經(jīng)濟(jì)增長點,帶動了一系列相關(guān)產(chǎn)業(yè)的發(fā)展。隨著網(wǎng)絡(luò)、通信和信息技術(shù)的突破性進(jìn)展,Android手機在全球爆炸性的增長并且迅速打入中國市場。在這一前提下,手機終端游戲的開發(fā)成了熱門行業(yè)。Java作為一種新的編程語言,以其簡單性、可移植性和平臺無關(guān)性等優(yōu)點,得到了廣泛地應(yīng)用,特別是Java與萬維網(wǎng)的完美結(jié)合,使其成為網(wǎng)絡(luò)編程和嵌入式編程領(lǐng)域的首選編程語言。連連看游戲是一個經(jīng)典的游戲,它因操作簡單、娛樂性強而廣受歡迎。游戲產(chǎn)業(yè)作為現(xiàn)代電腦電子技術(shù)的產(chǎn)物,正在以其獨特的魅力在全世界的娛樂領(lǐng)域占據(jù)主流位置,我們在承認(rèn)廣大娛樂網(wǎng)民的選擇空間狹小的同時,也必須明確的一點就是游戲本身所具有的強大的吸引力。數(shù)字記憶游戲只需要把出現(xiàn)的數(shù)字,按照出現(xiàn)的位置一次點出來,規(guī)則簡單容易上手。休閑、趣味,且不分男女老少、工薪白領(lǐng),在娛樂的同時還可以訓(xùn)練眼明手快及增強邏輯判斷能力。是一款適合大眾的經(jīng)典小游戲。游戲制作的目的是滿足了人們休閑的需要,在緊張工作之余休閑類的小游戲能夠給人帶來最大程度的放松,也可以增進(jìn)人們之間的交流、溝通,通過游戲還可以認(rèn)識更多的朋友。 Android系統(tǒng)手機在中國已經(jīng)火熱流行開來,設(shè)計本課題通過查閱相關(guān)資料可以促進(jìn)自己了解更多Android手機前沿信息,理清軟件開發(fā)流程,進(jìn)一步加固對Java知識的運用。對以后致力于Android應(yīng)用程序開發(fā)奠定基礎(chǔ)。Android平臺上的游戲相比應(yīng)用軟件,不需要進(jìn)行嚴(yán)格的市場細(xì)分,不需要針對目標(biāo)用戶量身定制。數(shù)字游戲是一個經(jīng)典的游戲,它因操作簡單、娛樂性強而廣受歡迎。本程序?qū)⑷陙硭鶎W(xué)的專業(yè)知識和其他方面的知識融入到實際應(yīng)用中。通過此次課題的設(shè)計,掌握如何制作一個游戲軟件,以及制作游戲軟件的整個流程,制作游戲軟件的步驟,為以后的就業(yè)工作打下基礎(chǔ)。2.2 Java技術(shù)簡介這次記數(shù)字游戲的設(shè)計與實現(xiàn)是基于Android平臺的,而該平臺以Java作為開發(fā)語言,JDK是進(jìn)行Java開發(fā)時必需的開發(fā)包。進(jìn)行開發(fā)前先要建立合適的開發(fā)環(huán)境,其中基于Java的整合型可擴展平臺Eclipse是我們的首選。Eclipse是一款非常優(yōu)秀的開源IDE,Google官方也提供了基于Eclipse的Android開發(fā)插件ADT,Android平臺為開發(fā)者提供了源碼開放的軟件開發(fā)包(SDK),它包含了使用Java語言開發(fā)Android平臺應(yīng)用的必要工具和組件(API)。在大量插件的配合下,完全可以滿足從企業(yè)級Java應(yīng)用到手機終端Java游戲的開發(fā)。Java語言的學(xué)習(xí)熱潮并沒有因為時間的推移而消退,相反,由于計算機技術(shù)的發(fā)展所帶來的新應(yīng)用的出現(xiàn),Java越來越流行,這種情況是以往程序設(shè)計語言在其生存周期內(nèi)所不多見的9。Java語言之所以這樣長盛不衰,一是因為其眾多的技術(shù)特點與現(xiàn)今的應(yīng)用十分合拍,可以覆蓋大部分的需求;二是因為SUN公司不斷推出新的版本,完善Java自身的功能。有了這兩點,Java語言成為程序員首選的程序設(shè)計開發(fā)工具就在情理之中了。Java技術(shù)是一門編程語言,也是一個平臺,它基于Java虛擬機技術(shù),借助這個東西建立了跨平臺的優(yōu)勢。(題外話:Java熱門的原因之一就是一個跨平臺的概念,和跨平臺類似跨瀏覽器的好處也是如此,這也是現(xiàn)在AJAX技術(shù)流行的原因之一。另外現(xiàn)在熱炒的RIA富客戶端的概念下的技術(shù)除了AJAX外還有Adobe的Flash/Flex,微軟的Silver Light,SUN的JavaFX等,個人更看好Flash/Flex,原因是Flash插件在瀏覽器端占用率很高10。Java技術(shù)的重要性就不講了,從最近流行的一個統(tǒng)計數(shù)據(jù)上來看,目前世界上編程語言Java、C 、VB、C+依次排名前4位,這排名本身不說明什么,至少也是工業(yè)界對編程語言使用上一個側(cè)面的反映吧。Java編程語言與眾不同之處在于:Java程序既是編譯型的(轉(zhuǎn)換為一種稱為Java字節(jié)碼的中間語言),又是解釋型的(JVM 對字節(jié)碼進(jìn)行解析和運行)。編譯只進(jìn)行一次,而解釋在每次運行程序時都會進(jìn)行。編譯后的字節(jié)碼采用一種針對JVM 優(yōu)化過的機器碼形式;解釋器是JVM 的實現(xiàn)。這段是摘自網(wǎng)上的,編譯原理學(xué)的不是很好,對這門語言的背后運行機制理解到這樣了。Java平臺是一種純軟件平臺,它有三個版本JavaSE、JavaEE、JavaME。JavaSE(Java Platform,Standard Edition)這個版本以前叫做J2SE,后來版本號從1.4直接跳到5.0,其實也就是1.5,所以就叫成Java SE 5.0。目前Java開發(fā)人員使用較多的版本是5.0,當(dāng)然還有Java SE 6.0這個更新的版本。它允許開發(fā)和部署在桌面、服務(wù)器、嵌入式環(huán)境和實時環(huán)境中使用的Java應(yīng)用程序。JavaSE還包含了支持Java Web服務(wù)開發(fā)的類,并為JavaEE這個版本提供基礎(chǔ)。雖說就桌面應(yīng)用程序開發(fā)來說,Java一直不被看好,但也稍微提一下,負(fù)責(zé)桌面GUI開發(fā)的類庫我知道的有:JDK自帶的主要是AWT/SWING這個Java原生類庫;也可以使用IBM的SWT/JFace這個第三方類庫。開發(fā)工具我了解的有:NetBeans(最近已經(jīng)是6.0final版了,做GUI有使用VB的感覺),Eclipse(SWT/JFace這個項目其實就是做Eclipse項目時擴展出來的,所以對SWT/JFace支持的也不錯)。JavaEE(Java Platform,Enterprise Edition)這個版本以前叫做J2EE,也就是大家可能聽得比較多的,也是Java比較流行的領(lǐng)域,Java的企業(yè)級版本。JavaEE下有很多流行的開發(fā)框架,像Struts、Spring、Hibernate這種流行的所謂SSH組合等。根據(jù)項目大小、應(yīng)用領(lǐng)域,技術(shù)平臺的選擇面還是很多的,除了JavaEE,還有.Net,LAMP組合(Linux、Apatch、MySql、PHP組合),相對來說比較新Ruby在Ruby on Rails的框架應(yīng)用,后兩者可能在相對來說比較輕量級的Web領(lǐng)域運用成功案例比較多,更重量的企業(yè)級潛力還有待挖掘。JavaME(Java Platform,Micro Edition)這個版本以前叫做J2ME。應(yīng)用領(lǐng)域像各種移動設(shè)備和嵌入式設(shè)備,比如:手機、PDA、電視機頂盒和打印機11。Java開發(fā)工具很多,個人使用的IDE有Eclipse和NetBeans。Eclispe比較流行,各種插件也多,當(dāng)然用起來也不錯;NetBeans現(xiàn)在也是越做越好了,介紹這兩個IDE主要是開源的,當(dāng)然還有其它工具如JBuilder、IntelliJ、JCreator。這些IDE各有優(yōu)勢劣勢,根據(jù)個人開發(fā)的項目來選擇了。第三章 需求分析與系統(tǒng)概要設(shè)計這章概要的闡述了系統(tǒng)的體系結(jié)構(gòu),描述了各個功能模塊,并且分析了系統(tǒng)功能、系統(tǒng)角色、流程分析以及功能需求分析,為下一章的詳細(xì)設(shè)計打下基礎(chǔ)。3.1可行性分析1) 操作可行性游戲的操作可行性其實是一個游戲成功與否的關(guān)鍵,在很多著名游戲中游戲操作合理性經(jīng)常成為玩家討論的焦點,所以說游戲設(shè)計的合理性既是需要考慮的關(guān)鍵也是對玩家選擇此游戲的主要吸引力。游戲時間不能過長也不能過短,在經(jīng)過反復(fù)思考和老師的指導(dǎo)后,決定將時間做成每關(guān)開始10秒時間不變,往后沒關(guān)的數(shù)字加一個。這一決定保證了游戲的正常完成,同時也是考慮到了制作時間的限制。2) 技術(shù)可行性Android以Java作為開發(fā)語言,JDK是進(jìn)行Java開發(fā)時必需的開發(fā)包。進(jìn)行開發(fā)前先要建立合適的開發(fā)環(huán)境,其中基于Java的整合型可擴展平臺Eclipse是我們的首選。Eclipse是一款非常優(yōu)秀的開源IDE,Google官方也提供了基于Eclipse的Android開發(fā)插件ADT,Android平臺為開發(fā)者提供了源碼開放的軟件開發(fā)包(SDK),它包含了使用Java語言開發(fā)Android平臺應(yīng)用的必要工具和組件(API)。在大量插件的配合下,完全可以滿足從企業(yè)級Java應(yīng)用到手機終端Java游戲的開發(fā)。Eclipse是一款很好的動畫游戲制作軟件。它完全符合面向?qū)ο缶幊痰囊螅蟠蟮奶嵘顺绦蚓帉懙哪芰?。而且在Eclipse軟件中,它自帶了一些常用的組件。這為我們對這各組件開發(fā)提供了很大的幫助。因此在技術(shù)上是可行的。 3) 經(jīng)濟(jì)可行性開發(fā)該系統(tǒng)所需的相關(guān)資料可以通過已存在的相關(guān)系統(tǒng)進(jìn)行調(diào)查采集,所需的其他應(yīng)用軟件、硬件系統(tǒng)也易于獲得。因此開發(fā)成本較低。而引進(jìn)使用本系統(tǒng)后,與傳統(tǒng)方式相比,具有高效率、低成本、高質(zhì)量的特點,可以節(jié)省不少人力、物力及財力。所以,從經(jīng)濟(jì)的角度來看,該系統(tǒng)可行。3.2功能需求分析畢業(yè)設(shè)計是基于一般的數(shù)字記憶游戲規(guī)則與游戲模式完成的。在游戲體驗和游戲模式方面又有所改進(jìn),旨在增加游戲的趣味性和挑戰(zhàn)性。游戲設(shè)計出來后,經(jīng)過測試需要實現(xiàn)以下的游戲基本功能:基本游戲功能。也就是說,設(shè)計完成的游戲能夠正常啟動運行。在游戲的初始化階段。首先要有排除死鎖的能力,所謂的死鎖就是游戲初始化完成后,重復(fù)進(jìn)行該開的關(guān)卡不進(jìn)入下一關(guān)卡。或者是在玩家游戲過程中出現(xiàn)了無法點擊的情況。游戲模式選擇功能。點擊游戲界面中的開始按鈕,可以開始新的游戲,數(shù)字出現(xiàn)的位置隨機。點擊游戲界面中的繼續(xù)按鈕,可以繼續(xù)上一回合的游戲。數(shù)字出現(xiàn)的位置隨機。游戲開始功能。進(jìn)入游戲界面時。會看見一個界面。然后在游戲界面的左上角出現(xiàn)10秒的計時,同時游戲開始十秒鐘之后開始,在10秒內(nèi)點擊屏幕也是開始。如需退出,直接退出即可。再次進(jìn)入游戲如需,繼續(xù)游戲則點擊主界面的繼續(xù)按鈕,如需重新游戲則點擊新游戲按鈕。3.3系統(tǒng)基本流程本游戲是一款基于Android的手機數(shù)字游戲,玩家進(jìn)入游戲后,進(jìn)入主界面,顯示開始游戲、繼續(xù)游戲、退出游戲。當(dāng)玩家點擊開始游戲后,玩家在規(guī)定時間內(nèi)記住出現(xiàn)數(shù)字的位置,時間結(jié)束后則開始游戲,如果成功則進(jìn)入下一關(guān),否則游戲失敗繼續(xù)當(dāng)前關(guān)卡的游戲。如需退出游戲則直接點擊手機返回鍵。進(jìn)入游戲主界面,界面上有繼續(xù)游戲,結(jié)束游戲、開始新游戲。系統(tǒng)流程圖如圖3.1所示。圖3.1 系統(tǒng)流程圖用戶剛剛進(jìn)入游戲時候,將會進(jìn)入游戲開始界面。點擊開始游戲按鈕,載入游戲,系統(tǒng)自動產(chǎn)生初始游戲布局。此時系統(tǒng)將會自動開始游戲游戲開始。系統(tǒng)會自動匹配每次玩家點擊出每個數(shù)字的范圍,如果返回的的數(shù)值在系統(tǒng)產(chǎn)生的范圍同時數(shù)字順序也要相同,符合則游戲進(jìn)入下一關(guān),否則繼續(xù)當(dāng)前關(guān)卡游戲。3.4模塊設(shè)計及算法簡介本次系統(tǒng)設(shè)計總共分為三個模塊:菜單設(shè)計、界面設(shè)計、算法設(shè)計:菜單設(shè)計??偣卜譃槿齻€模塊:開始游戲、繼續(xù)游戲、退出游戲。界面設(shè)計。總共分為三個模塊:框架設(shè)計、關(guān)卡顯示和計時器。算法設(shè)計??偣卜譃閮蓚€模塊:游戲布局、數(shù)字坐標(biāo)的產(chǎn)生。本次設(shè)計的游戲主要設(shè)計到一下兩個個核心算法:游戲布局、數(shù)字坐標(biāo)的產(chǎn)生:1) 游戲布局在該算法中,首先生成一個nm的矩陣。在該矩陣中每個節(jié)點的信息都將被記錄。所有的節(jié)點分為兩類:路徑節(jié)點和圖案節(jié)點。隨著游戲的進(jìn)展,圖片的消除,圖案節(jié)點將被消除,成為路徑節(jié)點。返回給系統(tǒng)。2) 數(shù)字坐標(biāo)每次開始新的游戲或者新的關(guān)卡,每次數(shù)字的坐標(biāo)都會根據(jù)自定義的算法產(chǎn)生。第四章 系統(tǒng)詳細(xì)設(shè)計這一章對游戲的各個功能的實現(xiàn)進(jìn)行描述。描述了系統(tǒng)的主要功能,展示了游戲運行的界面圖。全面深刻地解析了該系統(tǒng)所具有的全部功能及其實現(xiàn)的方法。對游戲UI、核心算法進(jìn)行了詳細(xì)的解釋。4.1開發(fā)環(huán)境的搭建1) 下載Eclipse。剛開始我們需要下載Android開發(fā)時會用到的整合開發(fā)環(huán)境Eclipse。目前Android應(yīng)用程式只支援使用Java來編寫Android應(yīng)用程式。所以開發(fā)前必須先安裝Java 開發(fā)套件(Java Development Kit,JDK)。各平臺的JDK可至/下載。安裝好JDK 后,我們可以前往Eclipse網(wǎng)站下載Eclipse這個方便的整合開發(fā)環(huán)境。下載Eclipse時選Eclipse IDE for Java Developers或Eclipse IDE for Java EE Developers這兩種版本,只有這兩種版本才會預(yù)裝Eclipse JDT擴充套件。下載完同樣先解壓縮到適當(dāng)目錄下。2) 安裝Eclipse。Eclipse不需要安裝,只要確認(rèn)你的系統(tǒng)上有安裝Java,即可直接開啟Eclipse資料夾,點擊Eclipse開始執(zhí)行Eclipse 整合開發(fā)環(huán)境。第一次啟動Eclipse時會彈出視窗讓你決定預(yù)設(shè)的工作目錄。一般使用Eclipse預(yù)設(shè)的工作目錄即可。進(jìn)入到EclipseIDE后,安裝Android開發(fā)工具擴充套件。3) Eclipse安裝ADT 擴充套件。下載完最新的ADT擴充套件后,打開Eclipse開發(fā)環(huán)境。選擇Help-Software Updates選項,這選項會帶出一個新視窗。選擇Available Software標(biāo)簽,選擇右方的Add Site(新增網(wǎng)站)按鈕,會彈出一個輸入框。選擇右上角的Local按鈕,并選取剛下載的Android 最新開發(fā)工具檔案,選到之后按下OK按鈕離開。在視窗中全選新出現(xiàn)項目的所有選項后,按下右方的Install按鈕。4) 下載Android SDK。這時我們要/p/Androidbmi/wiki/ 下載Android軟體開發(fā)套件(Software Development Kit,SDK)。下載下來的SDK檔案需要先解壓縮。Windows平臺需要先另行安裝解壓縮程式,如免費的7-zip解壓縮工具。將解壓縮后的Android SDK檔案夾命名為Android_sdk。在Eclipse打開偏好設(shè)定頁面Preference,選擇Android標(biāo)簽,在SDK Location欄位按下Browse鍵,選擇剛剛解壓縮完的Android_sdk檔案夾所在地,然后按下視窗右下角的套用Apply按鈕。這樣Android SDK就設(shè)定完畢。4.2單項功能的實現(xiàn)4.2.1游戲UI的實現(xiàn)這個小游戲?qū)崿F(xiàn)了數(shù)字的依次增加、游戲計時、開始游戲、繼續(xù)游戲和退出功能。如圖4.1是游戲開始界面。圖4.1 游戲主界面顯示這部分的代碼都寫在類(Padding)和mians包中的DrawButton類里面,進(jìn)入游戲后左上方顯示游戲開始倒計時間,右上方顯示游戲關(guān)卡,還有在這部分的游戲界面也是寫在mians包中的MainActiving類,每個都由Textview顯示?,F(xiàn)在這里占個位。這里說明一下Padding類中比較常出現(xiàn)幾種狀態(tài)變量:/游戲開始的10秒記憶時間 public final static float padd = 10.0f;public static float num = 0.0f;public static int length = 0;public static int m = 0;public static int gu = 1;/定義按鈕public static int button;public static boolean isOK = false;public static boolean isTou = false;public static float X = new float24;public static float Y = new float24;/定義開始界面的三個按鈕顯示字體public static String name = new StringExit,Con,New; public static List list = new ArrayList();這里為主鍵面的設(shè)置,以及游戲的字體和背景顏色的設(shè)置。主界面的三個按鈕使用for循環(huán)一次的調(diào)用Padding類中所定義(name)變量。 Paint paint, paint_text_add, paint_text;paint = new Paint();paint_text = new Paint();paint_text_add = new Paint();/主界面按鈕的背景顏色Paints.Painte(paint, Color.WHITE, 250, true, 2, 0, Style.FILL);/字體顏色Paints.Painte(paint_text, Color.BLACK, 250, true, 2, size, Style.FILL);/整個游戲的背景顏色Paints.Painte(paint_text_add, Color.BLACK, 250, true, 2, size_add,Style.FILL);/利用for循環(huán)設(shè)置按鈕for (int i = 0; i 3; i+) canvas.drawCircle(Radius_X(), (i + 1) * Radius_Y(), Radius(), paint);canvas.drawText(Pi, Radius_X() -0.7f* Radius(),(i + 1) * Radius_Y() + text_y, paint_text);Xi = Radius_X();Yi = (i + 1) * Radius_Y();如圖4-2所示是游戲開始界面圖4.2 游戲開始界面顯示這部分的代碼在mains包中的MainActivty類中部分代碼如下所示。/顯示游戲開始的時間部分的TextView public void CreateTime(TextView time, float textSize) time.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT, 1.0f);time.setGravity(Gravity.CENTER);time.setTextColor(Color.WHITE);time.setTextSize(textSize);time.setText(Time:);/顯示游戲開始的關(guān)卡部分的TextView public void CreateLoca(TextView loca, float textSize) loca.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, 1.0f);loca.setGravity(Gravity.CENTER);loca.setTextColor(Color.WHITE);loca.setTextSize(textSize);loca.setText(loca:+Padding.gu+/24);/游戲開始第一關(guān)卡所顯示的數(shù)字public int Length()str = getShare();if(str.length()=0)str = 6;return Integer.parseInt(str);public int Gu()num = getShareNum();if(num.length()=0)num = 1;return Integer.parseInt(num);以上就是本次游戲的基本界面設(shè)置。4.3

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論