【正文】
5 第二章 基礎(chǔ)知識(shí)與開發(fā)技術(shù) 這一 章介紹了系統(tǒng)的開發(fā)環(huán)境和開發(fā)方法,并且詳細(xì)介紹了 Android 的基本知識(shí)、 特點(diǎn) 、 Android 平臺(tái)的優(yōu)勢(shì)和 手機(jī)開發(fā)的市場(chǎng)價(jià)值以及 Java 技術(shù)簡(jiǎn)介、開發(fā)的詳細(xì)步驟和游戲使用的主要技術(shù)問題。 這部分主要介紹了 連連看游戲的各個(gè)功能 是如何 實(shí)現(xiàn)的 ,描述了系統(tǒng)的設(shè)計(jì)理念、基本流程 和風(fēng)格定位,展示了各個(gè)模塊的模型和界面圖,全面深刻的解析了游戲所具有的全部功能及 其實(shí)現(xiàn)的方法。包括開發(fā)模型、 Android 技術(shù)和 Java 技術(shù)等,并且詳細(xì)介紹了Android 的基本知識(shí)、 特點(diǎn)、 Android 平臺(tái)的優(yōu)勢(shì)和手機(jī)游戲開發(fā)的市場(chǎng)價(jià)值以及 用Java 語(yǔ)言開發(fā)該游戲的詳細(xì)步驟。包括課題的背景資料簡(jiǎn)介、國(guó)內(nèi)外研究現(xiàn)狀 、深入地介紹了課題研究的價(jià)值以及對(duì)未來(lái)的影響。 武漢工程大學(xué) 畢業(yè)論文 3 完成這次畢業(yè)設(shè)計(jì),不僅可以提高我對(duì)知識(shí)的綜合運(yùn)用能力,增加實(shí)現(xiàn)項(xiàng)目設(shè)計(jì)的經(jīng)驗(yàn),同時(shí)讓我深入地了解一個(gè)安卓游戲的基本制作過程以及各項(xiàng)功能是如何實(shí)現(xiàn)的,更拓寬了自己的知識(shí)面。連連看 與個(gè)人空間相結(jié)合,被快速的傳播,成為一款熱門的社交游戲,其中以開發(fā)者Jonevey在 Manyou 開放平臺(tái)上推出的寵物連連看 最為流行 。 隨著 Android 應(yīng)用的流行,網(wǎng)上出現(xiàn)了多種版本的連連看。 經(jīng)過多年的發(fā)展,第三代數(shù)字通信 (3G)技術(shù)獲得了廣泛的接受,它為移動(dòng)終端用戶帶來(lái)了更快的數(shù)據(jù)傳輸速率。在美國(guó),手機(jī)游戲作為美國(guó)手機(jī)用戶最喜歡的移動(dòng)應(yīng)用之一,在 iPhone 和 Android 等智能終端推出后發(fā)展迅速。 武漢工程大學(xué) 畢業(yè)論文 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)行的游戲 ]2[ 。免費(fèi)的 跨平臺(tái)開發(fā)工具, 讓具備一些物件導(dǎo)向觀念或視窗程式開發(fā)經(jīng)驗(yàn)的開發(fā)者 能在一定時(shí)間內(nèi)上手。當(dāng)用戶 想換一臺(tái)手機(jī)時(shí),就可以在同樣 使用 Android 作業(yè)系統(tǒng)平臺(tái)的不同廠牌手機(jī) 之間選擇,并且很容易地將 聯(lián)絡(luò)簿等個(gè)人資料轉(zhuǎn)換到新手機(jī)上。平臺(tái)上的應(yīng)用程式可相容于各種型號(hào)的 Android 手機(jī),免去為各種不同手機(jī)機(jī)型開發(fā)的困擾。 Android 作業(yè)系統(tǒng)讓設(shè)備制造商免除每出一臺(tái)手機(jī),就得被手機(jī)作業(yè)系統(tǒng)廠商 限制 的情況。 下面談?wù)勥B連看游戲設(shè)計(jì)基于的 Android系統(tǒng)平臺(tái) 。s menu interface, screen drawing, time control, layout algorithm, connectivity algorithm, level set, sound and animation have been detail designed. In the detailed design stage of the game. At first, we have to build the necessary environment for the development of a good game, including download and install Eclipse development environment downloading and intall ADT Extensions. After we have built the development environment, then we have to achieve single function of the game. These functions including eliminating after connected, game countdowned to start the game, pausing the game and selecting game modes. And then customize the game view that can display pictures according to the layout of the data provided by the controller, and provide functions includeing selected highlights, connections and elimination. Then, we would design the game controller which implements the main control logic. Finally, there is the most critical part that is the algorithm design, in this thesis we describe the algorithms involved in the game including Game layout algorithm, connectivity algorithms and deadlock decision algorithm. After pleting these steps, a userfriendly, efficient and stable and entertaining puzzle game called lianliankan has been realized. Key words: Android; Java; Game; Algorithms; Puzzle 武漢工程大學(xué) 畢業(yè)論文 1 第一章 緒 論 第一章主要是對(duì)課題的總體介紹,包括課題的背景資料簡(jiǎn)介、國(guó)內(nèi)外一些研究的現(xiàn)狀成果外, 還深入地介紹了課題研究的價(jià)值以及對(duì)未來(lái)的影響 ,為本系統(tǒng)的編寫調(diào)試提供了強(qiáng)大的理論依據(jù)。再然后就是設(shè)計(jì)游戲控制器的部分,該部分實(shí)現(xiàn)了 主要的控制邏輯。在對(duì)系統(tǒng)進(jìn)行詳細(xì)需求分析的基礎(chǔ)上,確定了系統(tǒng)的功能和性能要求,對(duì)游戲的菜單界面、屏幕繪制、時(shí)間控制、布局算法、連通算法、關(guān)卡設(shè)置、音效和動(dòng)畫進(jìn)行了詳細(xì)設(shè)計(jì)。在游戲的詳細(xì)設(shè)計(jì) 階段中,首先, 我們必須 搭建好游戲開發(fā)的必要環(huán)境,包括下載安裝 開發(fā)環(huán)境 Eclipse 和安裝 ADT 擴(kuò)充套件。最后,就是最關(guān)鍵的算法設(shè)計(jì)部分了,論 文詳細(xì)介紹 該游戲涉及到的算法:游戲布局算法、連通算法和僵局判定算法。 課題背景 現(xiàn)代科學(xué)技術(shù)的發(fā)展,改變了人類的生活。 Android是一個(gè)基于 Linux 核心 (kernel)的開放手機(jī)平臺(tái)作業(yè)系統(tǒng)。對(duì)硬件 開發(fā)廠商來(lái)說, Android 也是個(gè)開放的平臺(tái)。 Android 平臺(tái)支援各種先進(jìn)的網(wǎng)路,具備 繪圖、3D 處理 等能力,可以給使用者提供更好的體驗(yàn)。 Android 在 Linux 核心的基礎(chǔ)上,提供了各種合用的函數(shù)庫(kù) 和一個(gè)完整的應(yīng)用程式框架。從不同角度來(lái)說, Android 代表著一個(gè)嶄新的開放原始碼作業(yè)系統(tǒng)平臺(tái)、一個(gè)友善的免費(fèi)應(yīng)用程式開發(fā)環(huán)境、一個(gè)與世界各地的程式開發(fā)者,站在相同起跑點(diǎn)上的公平競(jìng)爭(zhēng)機(jī)會(huì)。手機(jī)游戲最大的特點(diǎn)是其隨時(shí)隨地進(jìn)行游戲的便利性。而在中國(guó),根據(jù)易觀智庫(kù)產(chǎn)業(yè)數(shù)據(jù)庫(kù)最新發(fā)布的《 2021 年第 4季度中國(guó)手機(jī)游戲市場(chǎng)季度監(jiān)測(cè)》數(shù)據(jù)顯示,我國(guó) 2021 年手機(jī)游戲市場(chǎng)規(guī)模已達(dá)到 億元,繼續(xù)保持了較快的發(fā)展 。隨著 3G 網(wǎng)絡(luò)的使用,移動(dòng)終端不再僅是通訊網(wǎng)絡(luò)的終端,還將 成為互聯(lián)網(wǎng)的終端。如水晶連連看、果蔬連連看等,流行的水晶連連看 以華麗界面吸引了一大批玩家。 課題研究意義 現(xiàn)在小游戲、網(wǎng)頁(yè)游戲越來(lái)越受網(wǎng)民歡迎,除了玩的方法簡(jiǎn)單外(不像其他游戲還需要注冊(cè)下載繁瑣過程),很多游戲不乏經(jīng)典。通過完成一個(gè)比較完善的安卓游戲,我對(duì)圖像編輯、程序設(shè)計(jì)等各方面的知識(shí)有了更 深的理解,也為以后的工作和學(xué)習(xí)打下了很好的鋪墊。為本系統(tǒng)的編寫調(diào)試提供了強(qiáng)大的理論依據(jù)。 第 三 章 為 需求分析與 系統(tǒng)概要設(shè)計(jì) 。對(duì)每個(gè)界面的設(shè)計(jì)以及思路進(jìn)行了詳細(xì)的解釋 。 Android 技術(shù)簡(jiǎn)介 Android 基本知識(shí) Android是 Google 開發(fā)的基于 Linux平臺(tái)的開源手機(jī)操作系統(tǒng)。 Android 一詞本意是指機(jī)器人 ,當(dāng)然現(xiàn)在大家都知道它是 Google 推出的開源手機(jī)操作系統(tǒng)。 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)核。 Android 應(yīng)用程序開發(fā)基于框架和組件。這些函數(shù)庫(kù)包括 :: 標(biāo)準(zhǔn)C 函數(shù)庫(kù)、媒體功能庫(kù)、瀏覽器引擎、 2D和 3D圖形庫(kù)等 [2]。 Android 系統(tǒng)平臺(tái)基于優(yōu)化了的 Linux 內(nèi)核,它提供諸如內(nèi)存管理、進(jìn)程管理、設(shè)備驅(qū)動(dòng)等服務(wù),同時(shí)也是手機(jī)軟硬件的連接層。并采用較符合商用限制的 Apache 版權(quán)。要開啟新的 activity,可以 調(diào)用 startActivity(Intent) , 或 調(diào)用 startSubActivity(Intent,int) ,后者通常和onActivityResult(int,int,String,Bundle)聯(lián)合使用,以從一個(gè) activity 獲取某結(jié)果并返回給打開它的 activity[3]。 View 也包含一些子類,如 : TextView(布局文件中的文本顯示 )、 EditText(布局文件中的文本編輯 )、 Button(按鈕 )、 ListView(顯示列表 )。 Intent 也 可以被認(rèn)為是一種概括操作行為的數(shù)據(jù)結(jié)構(gòu),它主要包括 action (動(dòng)作 )和 data(數(shù)據(jù) )兩部分,此外它還具有一些附加屬性如 category(intent 種類 )、 type (數(shù)據(jù)類型 )等。 后臺(tái)服務(wù) Service。 Google 與開放手機(jī)聯(lián)盟合作開發(fā)了 Android, Google 通過與運(yùn)營(yíng)商、設(shè)備制造商、開發(fā)商和其他有關(guān)各 方結(jié)成深層次的合作伙伴關(guān)系,希望通過建立標(biāo)準(zhǔn)化、開放式的移動(dòng)電話軟件平臺(tái),在移動(dòng)產(chǎn)業(yè)內(nèi)形成 一個(gè)開放式的生態(tài)系統(tǒng); 2) 應(yīng)用程序無(wú)界限 。應(yīng)用程序可 以輕松地嵌入 HTML、 JavaScript和樣式表,還可以通過 WebView 顯示網(wǎng)絡(luò) 內(nèi)容; 5) 應(yīng)用程序可以并行運(yùn)行。當(dāng)應(yīng)用程序中的任意代碼開始執(zhí)行時(shí), Android 啟動(dòng)一個(gè)進(jìn)程,而 當(dāng)不再需要此進(jìn)程而其它應(yīng)用程序又需要系統(tǒng)資源時(shí),則關(guān)閉這個(gè)進(jìn)程。當(dāng)然,也有其它的方法使得這些文件同樣能為別的應(yīng)用程序所訪問。 Android 平臺(tái)的優(yōu)勢(shì)主要體現(xiàn)在以下方面 : 1) 開放性 Android 平臺(tái)是開放性的平臺(tái),允許任何移動(dòng)終端廠商加入到 Android 聯(lián)盟中來(lái)。開放的平臺(tái)也會(huì)帶來(lái)更大競(jìng)爭(zhēng),如此一來(lái),消費(fèi)者將可以用更低 的價(jià)位購(gòu)得心儀的手機(jī)。 3) 豐富的硬件選擇 這一點(diǎn)還是與 Android 平臺(tái)的開放性相關(guān)。 4) 開發(fā)手機(jī)軟件不受任何限制 Android 平臺(tái)提供給第三方 開發(fā)商一個(gè)十分寬泛、自由的環(huán)境。從搜索巨人到全面的互聯(lián)網(wǎng)滲透, Google 服務(wù)如地圖、郵件、 搜索等已經(jīng)成為連接用戶和互聯(lián)網(wǎng)的重要紐帶,而 Android 平臺(tái)手機(jī)將無(wú)縫結(jié)合這些優(yōu)秀的 Google 服務(wù)。為此已經(jīng)有越來(lái)越多的研發(fā)機(jī)構(gòu)或部門著手研究開發(fā)手機(jī)應(yīng)用軟件。這是因?yàn)橛螒蛲婕业暮诵男枨笫墙y(tǒng)一的,那就是:娛樂與打發(fā)時(shí)間 (乃至更高層面的競(jìng)技需求和群體認(rèn)同需求 ),這種需求附著于 特定的社會(huì)發(fā)展階段,不受地域的限制,甚至于能夠穿透文化壁壘。武漢工程大學(xué) 畢業(yè)論文 9 鑒于現(xiàn)階段 Android 游戲研究開發(fā)的人數(shù)較少,游戲產(chǎn)品數(shù)量也較小的現(xiàn)狀,對(duì)Android 游戲的研究具有很大的意義,不僅僅需要研究 Android 游戲開發(fā)中的圖形圖像、人工智能等關(guān)鍵技術(shù),更重要的是研究 Android 游戲的開發(fā)框架,以及 Android游戲開發(fā)不同于別的平臺(tái)游戲開發(fā)的相關(guān)技術(shù)實(shí)現(xiàn)等內(nèi)容。 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ǔ)言。游戲速度節(jié)奏快,畫面清晰可愛。 Android 系統(tǒng)手機(jī)在中國(guó)已經(jīng)火熱流行開來(lái),設(shè)計(jì)本課題通過查閱相關(guān)資料可以促進(jìn) 自己了解更多 Android 手機(jī)前沿信息,理清軟件開發(fā)流程,進(jìn)一步加固對(duì) Java知識(shí)的運(yùn)用。本程序?qū)⑺哪陙?lái)所學(xué)的專業(yè)知識(shí)和其他方面的知識(shí)融入到實(shí)際應(yīng)用中。 Eclipse 是一款非常優(yōu)秀的開源 IDE, Google 官方也提供了基于 Eclipse 的 Android 開發(fā)插件 ADT, Android 平臺(tái)為開發(fā)者提供了源碼開放的軟件開發(fā)包 (SDK), 它包含了使用 Java 語(yǔ)言開發(fā)Android 平臺(tái)應(yīng)用的必要工具和組件 (API)。有了這兩點(diǎn), Java 語(yǔ)言成為程序員首選的程序設(shè)計(jì)開發(fā)工具就在情理之中了。 Java 技術(shù)的重要性就不講了,從最近流行的一個(gè)統(tǒng)計(jì)數(shù)據(jù)上來(lái)看 ,目前世界上編程語(yǔ)言 Java、 C 、 VB、 C++依次排名前 4 位,這排名本身不說明什么,至少也是工業(yè)界對(duì)編程語(yǔ)言使用上一個(gè)側(cè)面的反映吧。這段是摘自網(wǎng)上的,編譯原理學(xué)的不是很好,對(duì)這門語(yǔ)言的背后運(yùn)行機(jī)制理解到這樣了。它允許開發(fā)和部署在桌面、服務(wù)器、嵌入式環(huán)境和實(shí)時(shí)環(huán)境中使用的 Java 應(yīng)用程序。 JavaEE( Ja