




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