【正文】
線消除、游戲倒計時、開始游戲、暫停游戲和游戲模式選擇這些功能。武漢工程大學(xué) 畢業(yè)論文基于android平臺連連看游戲設(shè)計與實現(xiàn)畢業(yè)論文目 錄摘 要 ……………………………………………………………………………………..… IIAbstract …………………………………………………………………………………... III第一章 緒 論 ……………………………………………………………………………… 1 課題背景 …………………………………………………………………………….... 1 國內(nèi)外研究現(xiàn)狀 .……………………………………..………………………………. 2 課題研究意義………………………………………………………………………..….2 論文結(jié)構(gòu)安排………………………………………………………………………..….3第二章 基礎(chǔ)知識與開發(fā)技術(shù)………………………………………………………………...5 Android技術(shù)簡介.……………………………………..……………………………….5 Java技術(shù)簡介………………………………………………………………………..…9第三章 需求分析與系統(tǒng)概要設(shè)計………………………………………………………….13 可行性分析……………………………………………………………………….……13 功能需求分析…………………………………………………………………….……14 系統(tǒng)基本流程…………………………………………………………………….……14 模塊設(shè)計及算法簡介…………………………………………………………….……16第四章 系統(tǒng)詳細(xì)設(shè)計……………………………………………………………………….17 開發(fā)環(huán)境的搭建…………………………………………………………………….…17 單項功能的實現(xiàn)…………………………………………………………………….…18 算法詳細(xì)設(shè)計……………………………………………………………………….…25第五章 系統(tǒng)測試與性能分析……………………………………………………………….35 軟件測試…………………………………………………………………………….... 35 游戲系統(tǒng)測試…………………………………………………………………….……36 游戲性能分析…………………………………………………………………….……36總 結(jié)…….……………………………………………………..………………………….….39致 謝…….……………………………………………………..………………………….….41參考文獻…….………………..………………………………..………………………….….43武漢工程大學(xué) 畢業(yè)論文摘 要 論文對Android系統(tǒng)架構(gòu)和應(yīng)用開發(fā)進行初步研究,運用Java開發(fā)語言設(shè)計了一款連連看小游戲。然后自定義游戲視圖,定義的視圖能夠根據(jù)控制器提供的布局?jǐn)?shù)據(jù)來顯示圖片,并提供選中高亮、連線和消除的功能。關(guān)鍵詞:Android;Java;游戲;算法;益智 7 AbstractIn this thesis, we designed a small game called Lianliankan through a preliminary study on the Android system architecture and application development. It determined the functional and performance requirements of the system based on the detailed requests analysis of the system. The game39。要做一名能夠獨立完成面臨的任務(wù)并且有創(chuàng)新意識的新型人才。對于設(shè)備制造商來說,Android是一個免費的平臺。對于手持裝置的開發(fā)者來說,Android是個先進的平臺。用戶只要先申請一個免費的Google 帳戶即可。在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í)和使用。游戲的吸引力主要在于:連連看游戲是一種意趣休閑的小游戲,不僅能調(diào)節(jié)精神,還能在游戲中鍛煉我們的眼力視野,注意力的專心程度,開發(fā)我們的思維能力,同時可以充實自己,向高等級挑戰(zhàn),培養(yǎng)我們面對困難時自己所具有攻克困難的信心。在日本,手機游戲市場經(jīng)歷多年的穩(wěn)定增長,市場規(guī)模已經(jīng)超過了850億日元。預(yù)計到2012年,市場規(guī)模將達到65億元,%。Google為此于2007年11月推出了一個專為移動設(shè)備設(shè)計的軟件平臺——Android。 2008年,隨著社交網(wǎng)絡(luò)的普及和開放平臺的興起,連連看被引入了社交網(wǎng)絡(luò)。不僅能調(diào)節(jié)精神,還能在游戲中鍛煉我們的眼力視野,注意力的專心程度,開發(fā)我們的思維能力,同時可以充實自己,向高等級挑戰(zhàn),培養(yǎng)我們面對困難時自己所具有攻克困難的信心。介紹論文的選題背景,系統(tǒng)的基本功能的實現(xiàn)以及論文結(jié)構(gòu)的安排。這部分主要是介紹實現(xiàn)系統(tǒng)的技術(shù)支撐體系和系統(tǒng)的開發(fā)方法。第四章為系統(tǒng)詳細(xì)設(shè)計。描述了軟件測試的基本方法、測試的總類和測試的步驟,對游戲進行了的系統(tǒng)測試和性能上的分析。谷歌與開放手機聯(lián)盟合作開發(fā)了Android,這個聯(lián)盟由包括中國移動、摩托羅拉、高通、宏達和 TMobile 在內(nèi)的30多家技術(shù)和無線應(yīng)用的領(lǐng)軍企業(yè)組成。它是被一個由 30 多家科技公司和手機公司組成的“開放手機聯(lián)盟”共同研發(fā)的,這將大大降低新型手機設(shè)備的研發(fā)成本。Android平臺內(nèi)包含一些關(guān)鍵應(yīng)用程序,如郵件收發(fā)客戶端程序、短信收發(fā)程序、日歷、網(wǎng)頁瀏覽器等,而更多有特色的Android應(yīng)用程序還有待于廣大開發(fā)者共同參與開發(fā)。C/C ++函數(shù)庫。Android的Java程序運行環(huán)境包含一組Java核心函數(shù)庫及Dalvik虛擬機,它們有效地優(yōu)化了Java程序的運行過程。API是Android軟件平臺的重要組成部分,也是開發(fā)Android應(yīng)用的關(guān)鍵所在。作為最常用的應(yīng)用程序組件,幾乎所有Activity都會通過創(chuàng)建U I窗口與用戶進行交流。View是最基本的UI構(gòu)件,它在屏幕中占據(jù)一個矩形區(qū)域,可用來顯示文本、圖像等內(nèi)容,還可完成圖像事件處理[4]。Intent抽象描述了想要執(zhí)行的某種操作,它與startActivity一起使用可以開啟新的activity,與startService一起使用可以開啟后臺服務(wù)。數(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ù)類型)。()開啟一項后臺服務(wù),還可以通過Context. bindService()與后臺服務(wù)通信。通過互聯(lián)網(wǎng),應(yīng)用程序可以聲明它們的功能可供其他應(yīng)用程序使用;3) 應(yīng)用程序是在平等的條件下創(chuàng)建的。在后臺運行時,應(yīng)用程序可以生成通知以引動注意[6]。所以應(yīng)用程序代碼實際上與其它應(yīng)用程序的代碼是隔絕的。從系統(tǒng)資源維護的角度來看,擁有同一個ID的應(yīng)用程序也將在運行時使用同一個Linux進程,以及同一個虛擬機。隨著用戶和應(yīng)用的日益豐富,一個嶄新的平臺也將很快走向成熟。自從Android上市,用戶可以更加方便地連接網(wǎng)絡(luò),因而運營商的制約減少。功能上的差異和特色,卻不會影響到數(shù)據(jù)同步、甚至軟件的兼容??上攵?,如此一來會有多少新穎別致的軟件誕生。 Android 手機游戲的市場價值隨著計算機技術(shù)和移動通信技術(shù)的快速發(fā)展,手機用戶的數(shù)量越來越多,用戶在挑選手機設(shè)備的時候己經(jīng)不再拘泥于基本的通話功能。由于手機硬件資源有限、屏幕小、游戲時間短等特點,使得手機很適合運行那些劇情簡單、操作方便、有益于提高敏捷性和智力開發(fā)的游戲。由此可知,幾乎每一個Android手機用戶都是游戲的需求者,都是潛在的顧客,現(xiàn)今的1000多萬Android用戶不過是冰山一角,隨著Android手機市場進一步壯大,游戲的市場容量將具備更大的增長空間。隨著網(wǎng)絡(luò)、通信和信息技術(shù)的突破性進展,Android手機在全球爆炸性的增長并且迅速打入中國市場。游戲產(chǎn)業(yè)作為現(xiàn)代電腦電子技術(shù)的產(chǎn)物,正在以其獨特的魅力在全世界的娛樂領(lǐng)域占據(jù)主流位置,我們在承認(rèn)廣大娛樂網(wǎng)民的選擇空間狹小的同時,也必須明確的一點就是游戲本身所具有的強大的吸引力。是一款適合大眾的經(jīng)典小游戲。Android平臺上的游戲相比應(yīng)用軟件,不需要進行嚴(yán)格的市場細(xì)分,不需要針對目標(biāo)用戶量身定制。 Java技術(shù)簡介這次連連看游戲的設(shè)計與實現(xiàn)是基于Android平臺的,而該平臺以Java作為開發(fā)語言,JDK是進行Java開發(fā)時必需的開發(fā)包。Java語言的學(xué)習(xí)熱潮并沒有因為時間的推移而消退,相反,由于計算機技術(shù)的發(fā)展所帶來的新應(yīng)用的出現(xiàn),Java越來越流行,這種情況是以往程序設(shè)計語言在其生存周期內(nèi)所不多見的[9]。(題外話:Java熱門的原因之一就是一個跨平臺的概念,和跨平臺類似跨瀏覽器的好處也是如此,這也是現(xiàn)在AJAX技術(shù)流行的原因之一。編譯只進行一次,而解釋在每次運行程序時都會進行。JavaSE(Java Platform,Standard Edition)這個版本以前叫做J2SE,所以就叫成Java SE 。雖說就桌面應(yīng)用程序開發(fā)來說,Java一直不被看好,但也稍微提一下,負(fù)責(zé)桌面GUI開發(fā)的類庫我知道的有:JDK自帶的主要是AWT/SWING這個Java原生類庫;也可以使用IBM的SWT/JFace這個第三方類庫。根據(jù)項目大小、應(yīng)用領(lǐng)域,技術(shù)平臺的選擇面還是很多的,除了JavaEE,LAMP組合(Linux、Apatch、MySql、PHP組合),相對來說比較新Ruby在Ruby on Rails的框架應(yīng)用,后兩者可能在相對來說比較輕量級的Web領(lǐng)域運用成功案例比較多,更重量的企業(yè)級潛力還有待挖掘。Eclispe比較流行,各種插件也多,當(dāng)然用起來也不錯;NetBeans現(xiàn)在也是越做越好了,介紹這兩個IDE主要是開源的,當(dāng)然還有其它工具如JBuilder、IntelliJ、JCreator。游戲時間不能過長也不能過短,在經(jīng)過反復(fù)思考和老師的指導(dǎo)后,決定將時間做成第一關(guān)3分鐘左右,往后逐漸遞減。2) 技術(shù)可行性Android以Java作為開發(fā)語言,JDK是進行Java開發(fā)時必需的開發(fā)包。Eclipse是一款很好的動畫游戲制作軟件。因此在技術(shù)上是可行的。所以,從經(jīng)濟的角度來看,該系統(tǒng)可行。也就是說,設(shè)計完成的游戲能夠正常啟動運行。此時游戲應(yīng)該提供刷新按鈕,玩家點擊后可以重新打亂布局從而繼續(xù)游戲。其中有全布局模式:在該模式中整個游戲界面都可被消除圖案隨機填充。增加了游戲的趣味性。然后在游戲界面的左上角有一個開始按鈕。所以在游戲界面左下角將會看到游戲開始和暫停兩個按鈕。 游戲背景音樂和計時功能。另外游戲具備計時功能。反之,則該局游戲成功。當(dāng)玩家所得的分?jǐn)?shù)高于游戲中排行榜的分?jǐn)?shù),則可以在排行榜上保存姓名和得分。當(dāng)玩家點擊主界面的退出游戲,即退出連連看游戲程序。此時系統(tǒng)將會自動判斷游戲初始布局是否產(chǎn)生死鎖即無法找出一對可消除圖案。如果連通,予以消除。玩家繼續(xù)游戲直到游戲結(jié)束??偣卜譃槿齻€模塊:框架設(shè)計、地圖設(shè)計和計時器??偣卜譃槿齻€模塊:鼠標(biāo)響應(yīng)、時間響應(yīng)和繪圖響應(yīng)。所有的節(jié)點分為兩類:路徑節(jié)點和圖案節(jié)點。2) 連通算法連連看的連通算法主要是判斷兩個圖片是否可連。從而產(chǎn)生死鎖。全面深刻地解析了該系統(tǒng)所具有的全部功能及其實現(xiàn)的方法。目前Android應(yīng)用程式只支援使用Java來編寫Android應(yīng)用程式。下載Eclipse時選Eclipse IDE for Java Developers或Eclipse IDE for Java EE Developers這兩種版本,只有這兩種版本才會預(yù)裝Eclipse JDT擴充套件。第一次啟動Eclipse時會彈出視窗讓你決定預(yù)設(shè)的工作目錄。下載完最新的ADT擴充套件后,打開Eclipse開發(fā)環(huán)境。在視窗中全選新出現(xiàn)項目的所有選項后,按下右方的Install按鈕。Windows平臺需要先另行安裝解壓縮程式,如免費的7zip解壓縮工具。這個連連看小游戲?qū)崿F(xiàn)了連連看的連線消除功能、游戲倒計時、開始游戲、游戲模式選擇和暫停功能。RelativeLayout負(fù)責(zé)相對布局。3個按鈕分別為繼續(xù)游戲、開始游戲和退出。這里說明一下Layout中比較常出現(xiàn)的FILL_PARENT和WRAP_CONTENT,F(xiàn)ILL_PARENT意味著View想和父容器一樣大,也就是最小的填充(padding)。public static final int STATE_WIN=2。private static int state=STATE_MENU。public static final int iconsCount=10。程序啟動后,檢測到其為null時,說明是程序第一次啟動,這時程序?qū)⑿陆ㄒ粋€對象,并加載圖標(biāo)資源。因此定義了loadMenu方法,并在onStart方法中調(diào)用:首先。加載游戲圖標(biāo)資源的方法如下:private void loadlcons(){Resources r=getResources()。}}通過一個for循環(huán)對圖標(biāo)資源進行加載,但