




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、. . . . 1 / 32市大學(xué)軟件學(xué)院市大學(xué)軟件學(xué)院畢業(yè)論文畢業(yè)論文 基于基于 androidandroid 俄羅斯方塊的開發(fā)和設(shè)計(jì)俄羅斯方塊的開發(fā)和設(shè)計(jì)姓姓 名名 斌斌 專專 業(yè)業(yè) 軟件工程軟件工程 學(xué)學(xué) 號(hào)號(hào) 11503106071150310607 學(xué)學(xué) 籍籍 校校 師大學(xué)師大學(xué) 學(xué)校指導(dǎo)教師學(xué)校指導(dǎo)教師 王曉曄王曉曄 職職 稱稱 副教授副教授 企業(yè)指導(dǎo)教師企業(yè)指導(dǎo)教師 唐泰彬唐泰彬 職職 稱稱 工程師工程師 20132013 年年 6 6 月月摘 要. . . . 2 / 323G 時(shí)代已經(jīng)慢慢的融入了我們的日常生活,隨著國(guó)家的通信政策以與各大運(yùn)營(yíng)商的宣傳的影響,3G 手機(jī)已經(jīng)隨處
2、可見,面對(duì)全球信息、技術(shù)空前高速發(fā)展,信息高速化發(fā)展更是社會(huì)進(jìn)步的一個(gè)標(biāo)志。在全球信息化的今天,手機(jī)已經(jīng)成為人們?nèi)粘I钪胁豢扇鄙俚囊徊糠?,尤其是在電子產(chǎn)品日新月異的今天,我們?cè)谄綍r(shí)隨處可見的電子產(chǎn)品中,手機(jī)無疑是一個(gè)最大的用戶集,而各大廠商智能手機(jī)則依舊是電子市場(chǎng)的一顆耀眼的明星。其中的代表作有諾 Nokia 的塞班系統(tǒng),摩托羅拉的 Linux 系統(tǒng),但是其中異軍突起的仍然是 Google 的Andriod 系統(tǒng)以其開放的源代碼和方便簡(jiǎn)潔的操作必然是未來智能手機(jī)領(lǐng)域的領(lǐng)頭羊。這次畢業(yè)設(shè)計(jì)我們選擇基于 Andriod 的手機(jī)游戲一定會(huì)使我們?cè)谝院蟮墓ぷ髦刑峁└嗟臋C(jī)會(huì)。 。隨著新技術(shù)的不斷開發(fā)
3、與應(yīng)用,近年來 Java 技術(shù)發(fā)展十分迅速,一個(gè)以Java 應(yīng)用為主的新技術(shù)革命浪潮正在蓬勃興起。而基于 Andriod 的軟件開發(fā)是一個(gè)前景很大的技術(shù),通過這次畢業(yè)設(shè)計(jì),能使我們從對(duì)軟件的設(shè)計(jì)中體會(huì)到實(shí)際中軟件開發(fā)的過程,提高我們的專業(yè)能力,最終能夠獲得很強(qiáng)的專業(yè)知識(shí)。Android 是運(yùn)用 java 編程語言編寫的應(yīng)用程序。然而,Java 編程語言不僅僅用于編寫 Web 上嬌小可愛的娛樂性小應(yīng)用程序。通用的、高級(jí) Java 編程語言也是一個(gè)功能強(qiáng)大的軟件平臺(tái)。使用豐富的 API,你可以寫多種程序。因此,Android 也具有 java 語言的特點(diǎn)。如果你已經(jīng)學(xué)習(xí)過 java,你或許已經(jīng)熟悉
4、了java 編程語言特點(diǎn), 那么對(duì)于 Android 編程就會(huì)更容易掌握。關(guān)鍵詞:關(guān)鍵詞:Android 手機(jī)游戲,Android 平臺(tái),Java 技術(shù),游戲設(shè)計(jì)。AbstractAbstract. . . . 3 / 323G era has gradually integrated into our daily life, with the countrys communication policy as well as the major carriers of sensitization to the effects of3G mobile phone, can be seen eve
5、rywhere, in the face of the global information technology, an unprecedented rapid development, the information high speed development is a symbol of social advancement. In the global information technology today, mobile phone has become indispensable in the daily life of a part, especially in electr
6、onic products change rapidly today, we usually can be seen everywhere in the electronic products, mobile phone is undoubtedly one of the largest user sets, and major manufacturers of intelligent mobile phone will still be electronic market a dazzling star. The representative of Connaught Nokia Symbi
7、an, the Motorola Linux system, but which is still a new force suddenly rises. Google Andriod system for its open source code and convenient and simple operation is the future leader in the field of intelligent mobile phone. This time graduate the design we choose based on the Andriod mobile phone ga
8、mes will make our work in the future to provide more opportunities.With the new technology development and application, in recent years the development of Java technology is very rapid, a Java application of tide of new technology revolution is booming. Andriod based software development is a great
9、prospect of technology, through this graduation design, can make us from on the software design of the actual software development process, improve our professional skills, can finally obtain strong professional knowledge.KeyKey words:words: Android mobile phone games; the Android platform; Java tec
10、hnology;game design前言隨著智能手機(jī)的快速普與,智能手機(jī)操作系統(tǒng)市場(chǎng)風(fēng)生水起。為了讓智能手機(jī)用戶能夠隨時(shí)隨地查詢互聯(lián)網(wǎng)所提供的服務(wù),一種高效的辦法就是將應(yīng)用系統(tǒng)的功能拓展到手機(jī)終端上,讓手機(jī)能夠通過移動(dòng)網(wǎng)以與互聯(lián)網(wǎng)訪問 Web 并處理各種各樣的業(yè)務(wù)。因此,智能手機(jī)的應(yīng)用軟件與其需要的服務(wù)將有廣闊的發(fā)展前景。. . . . 4 / 32在如今這個(gè)智能手機(jī)系統(tǒng)群雄紛爭(zhēng)的時(shí)候,2008 年 Google 推出了一款名為 Android 的開源智能手機(jī)操作系統(tǒng),它采用 Linux 核,開放手機(jī)聯(lián)盟(OHA)成員可以任意使用和修改 SDK 包,系統(tǒng)的開源性使其具有良好的拓展性。這款軟件
11、包括了操作系統(tǒng)、用戶界面和應(yīng)用程序,即智能手機(jī)工作所需要的全部軟件。Android 的最大特點(diǎn)是其開放性體系架構(gòu),不僅具有非常好的開發(fā)、調(diào)試環(huán)境,而且還支持各種可擴(kuò)展的用戶體驗(yàn),包括豐富的圖形組件、多媒體支持功能以與強(qiáng)大的瀏覽器。因此,對(duì)于軟件從業(yè)人員來說,Android 平臺(tái)具有無限的吸引力。游戲是人們活動(dòng)中一項(xiàng)非常重要的容,有人認(rèn)為如果哪一天人類對(duì)所有的游戲都失去興趣,恐怕世界的末日就要到了。電腦對(duì)游戲的貢獻(xiàn)有目共睹,現(xiàn)在摸過電腦的人很少有沒玩過電腦游戲的,喜歡游戲的人也很少有不玩電腦的。俄羅斯方塊是一款風(fēng)靡全球的電視游戲機(jī)和掌上游戲機(jī)游戲,它曾經(jīng)造成的轟動(dòng)與造成的經(jīng)濟(jì)價(jià)值可以說是游戲史上
12、的一件大事。這款游戲最初是由聯(lián)的游戲制作人Alex Pajitnov制作的,它看似簡(jiǎn)單但卻變化無窮,令人上癮。俄羅斯方塊最早還是出現(xiàn)在PC機(jī)上,而我國(guó)的用戶都是通過紅白機(jī)了解、喜歡上它的?,F(xiàn)在聯(lián)眾又將重新掀起這股讓人沉迷的俄羅斯方塊風(fēng)潮。對(duì)一般用戶來說,它的規(guī)則簡(jiǎn)單,容易上手,且游戲過程變化無窮,而在聯(lián)眾俄羅斯方塊中,更有一些聯(lián)眾網(wǎng)絡(luò)游戲所獨(dú)有的魅力有單機(jī)作戰(zhàn)與兩人在線對(duì)戰(zhàn)兩種模式,用戶可任選一種進(jìn)行游戲。網(wǎng)絡(luò)模式還增加了積分制,使用戶既能感受到游戲中的樂趣,也給用戶提供了一個(gè)展現(xiàn)自己高超技藝的場(chǎng)所,那手機(jī)上有事什么樣呢?俄羅斯方塊游戲可以說是隨計(jì)算機(jī)的發(fā)展而發(fā)展,并不斷推出新演變出各種類似游
13、戲, 深受廣大玩家喜愛。這個(gè)游戲有的簡(jiǎn)單, 有的復(fù)雜, 但其根本原理是一樣的都是對(duì)運(yùn)動(dòng)的方塊進(jìn)行組合, 來訓(xùn)練玩家的反應(yīng)能力。大多數(shù)人都認(rèn)為一般游戲軟件都具有很高的技術(shù)難度, 隨著開發(fā)工具與軟件開發(fā)方法學(xué)的不斷發(fā)展, 至今的在Android手機(jī)上的游戲也是。本文就在分析討論 Android 手機(jī)軟件開發(fā)技術(shù)原理的基礎(chǔ)上,開發(fā)出能為用戶提供更好的基于 Android 平臺(tái)的 3G 手機(jī)游戲俄羅斯方塊兒的設(shè)計(jì)和開發(fā)。25目錄第一章緒論 6. . . . 5 / 32第二章需求分析 72.1 需求概括 72.2 目標(biāo) 72.3 用戶類型和特征 72.4 運(yùn)行環(huán)境 72.5 環(huán)境搭建 7第三章開發(fā)概述
14、 123.1 背景概述 123.2 游戲簡(jiǎn)介 123.3 游戲設(shè)計(jì)流程 143.4 游戲操作方法 15第四章游戲策劃與準(zhǔn)備工作 194.1 游戲策劃 194.2 游戲設(shè)計(jì) 194.3 呈現(xiàn)技術(shù) 194.4 目標(biāo)平臺(tái) 194.5 操作方式 194.6 游戲開發(fā)平臺(tái) 19第五章游戲構(gòu)架 215.1 游戲模塊構(gòu)成圖 215.2 游戲概要設(shè)計(jì)圖 225.3 各個(gè)功能模塊圖設(shè)計(jì) 23第六章游戲中各個(gè)類中實(shí)現(xiàn)的功能 26第七章結(jié)論 33參考文獻(xiàn) 34致 35第一章緒 論2007 年,Google 公司推出了 Android 手機(jī)操作系統(tǒng),該系統(tǒng)是基于 Linux平臺(tái)的開源手機(jī)操作系統(tǒng),并且該系統(tǒng)已經(jīng)成為了
15、新 3G 時(shí)代的主流移動(dòng)智能平臺(tái)之一,根據(jù)調(diào)查,在中國(guó)基于 Android 操作系統(tǒng)的智能手機(jī)在中國(guó)智能手機(jī). . . . 6 / 32總銷量中所占的比例已經(jīng)達(dá)到了 52%,越來越多的手機(jī)用戶在接觸安卓手機(jī)。Android 是一種以 Linux 為基礎(chǔ)的開放源代碼操作系統(tǒng),主要使用于便攜設(shè)備。目前尚未有統(tǒng)一中文名稱,中國(guó)大陸地區(qū)較多人使用“安卓”或“安智” 。Android 操作系統(tǒng)最初由 Andy Runbin 開發(fā),最初主要支持手機(jī)。2005 年由Google 收購(gòu)注資,并組建開發(fā)手機(jī)聯(lián)盟開發(fā)改良,逐漸擴(kuò)展到平板電腦與其他領(lǐng)域上。Android 的主要競(jìng)爭(zhēng)對(duì)手是蘋果手機(jī)的 ios 與 RI
16、M 的 BlackBerry OS。2011 年第一季度,Android 在全球的市場(chǎng)份額首次超過塞班系統(tǒng),躍居全球第一。 2012 年 11 月數(shù)據(jù)顯示,Android 占據(jù)全球智能手機(jī)操作系統(tǒng)市場(chǎng) 76%的份額,中國(guó)市場(chǎng)占有率為 90%。移動(dòng)互聯(lián)網(wǎng),就是將移動(dòng)通信和互聯(lián)網(wǎng)二者結(jié)合起來,成為一體。在最近幾年里,移動(dòng)通信和互聯(lián)網(wǎng)成為當(dāng)今世界發(fā)展最快、市場(chǎng)潛力最大、前景最誘人的兩大業(yè)務(wù),它們的增長(zhǎng)速度都是任何預(yù)測(cè)家未曾預(yù)料到的,所以移動(dòng)互聯(lián)網(wǎng)可以預(yù)見將會(huì)創(chuàng)造怎樣的經(jīng)濟(jì)神話。伴隨著移動(dòng)互聯(lián)網(wǎng)的快速發(fā)展,智能手機(jī)的快速普與,傳統(tǒng)的制質(zhì)地圖已經(jīng)不能滿足現(xiàn)在市民的便利出行25。運(yùn)行在安卓系統(tǒng)平臺(tái)的游戲,
17、運(yùn)行在安卓平臺(tái)的游戲深受大家的喜愛。現(xiàn)在,Android 游戲不但可以運(yùn)行于智能手機(jī),也可以運(yùn)行在平板電腦上,俄羅斯方塊(Tetris, 俄文:)是一款風(fēng)靡全球的電視游戲機(jī)和掌上游戲機(jī)游戲,它由俄羅斯人阿列克帕基特諾夫發(fā)明,故得此名。俄羅斯方塊的基本規(guī)則是移動(dòng)、旋轉(zhuǎn)和擺放游戲自動(dòng)輸出的各種方塊,使之排列成完整的一行或多行并且消除得分。由于上手簡(jiǎn)單、老少皆宜,從而家喻戶曉,風(fēng)靡世界。因此,手機(jī)上玩這款游戲也是我們必須要做。第二章需求分析2.1需求概括完成游戲在手機(jī)上功能要求。2.2目標(biāo)該游戲簡(jiǎn)單容易上手,更有一定的益智性,可以鍛煉你的記憶能力,也有一定的娛樂性,其中不同游戲類型能讓你感覺到這個(gè)游
18、戲的多樣性2.3用戶類型和特征用戶主要是 16 歲至 45 歲的手機(jī)用戶群,用戶只需要操作手機(jī)界面就能夠進(jìn)行游戲的操作。. . . . 7 / 322.4運(yùn)行環(huán)境2.4.1硬件資源裝載了 Android 系統(tǒng)的智能手機(jī)。2.4.2軟件資源操作系統(tǒng): Windows XP 或 Windows 7。Android sdkJDK:jdk1.6。Eclipse2.5環(huán)境搭建1.JDK 安裝如果你還沒有 JDK 的話,可以去這里下載,接下來的工作就是安裝提示一步一步走。設(shè)置環(huán)境變量步驟如下:我的電腦-屬性-高級(jí)-環(huán)境變量-系統(tǒng)變量中添加以下環(huán)境變量:2.JAVA_HOME 值為: D:Program F
19、ilesJavajdk1.6.0_18(你安裝 JDK的目錄)3.CLASSPATH 值為:.;%JAVA_HOME%libtools.jar;%JAVA_HOME%libdt.jar;%JAVA_HOME%bin;4.th: 在開始追加 %JAVA_HOME%bin;5.NOTE:前面四步設(shè)置環(huán)境變量對(duì)搭建 Android 開發(fā)環(huán)境不是必須的,可以跳過。安裝完成之后,可以在檢查 JDK 是否安裝成功。打開 cmd 窗口,輸入 java version 查看 JDK 的版本信息。如圖 2-1 所示:圖 2-1 驗(yàn)證 JDK 安裝是否成功. . . . 8 / 322.Eclipse 安裝如果你
20、還么有 Eclipse 的話,可以去這里下載,下載如圖 2-2 所示的Eclipse IDE for Java Developers(92M)的 win 32bit 版:圖 2-2Eclipse 下載解壓之后即可使用。3.Android SDK 安裝在 Android Developers 下載 android-sdk_r05-windows.zip,下載完成后解壓到任意路徑。運(yùn)行 SDK Setup.exe,點(diǎn)擊 Available Packages。如果沒有出現(xiàn)可安裝的包,請(qǐng)點(diǎn)擊 Settings,選中 Misc 中的Force s:/.這項(xiàng),再點(diǎn)擊Available Packages 。
21、選擇希望安裝的 SDK 與其文檔或者其它包,點(diǎn)擊 Installation Selected、Accept All、Install Accepted,開始下載安裝所選包在用戶變量中新建 PATH 值為:Android SDK 中的 tools 絕對(duì)路徑(本機(jī)為D:AndroidDevelopandroid-sdk-windowstools) 。如圖 2-3 所示:. . . . 9 / 32圖 2-3 設(shè)置 Android SDK 的環(huán)境變量“確定”后,重新啟動(dòng)計(jì)算機(jī)。重啟計(jì)算機(jī)以后,進(jìn)入 cmd 命令窗口,檢查 SDK 是不是安裝成功。運(yùn)行 android h 如果有圖 2-4 所示以下的輸
22、出,表明安裝成功:圖 2-4 驗(yàn)證 Android SDK 是否安裝成功4.ADT 安裝打開 Eclipse IDE,進(jìn)入菜單中的 Help - Install New Software點(diǎn)擊 Add.按鈕,彈出對(duì)話框要求輸入 Name 和 Location:Name 自己隨便取,Location 輸入 dl-ssl.google./android/eclipse。如圖 2-5 所示:圖 2-5 add site 框圖確定返回后,在 work with 后的下拉列表中選擇我們剛才添加的 ADT,我們會(huì)看到下面出有 Developer Tools,展開它會(huì)有 Android DDMS 和 Andr
23、oid Development Tool,勾選他們。 如圖 2-6 所示:. . . . 10 / 32圖 2-6 install 框圖然后就是按提示一步一步 next。完成之后:選擇 Window Preferences.在左邊的面板選擇 Android,然后在右側(cè)點(diǎn)擊 Browse.并選中 SDK 路徑,本機(jī)為: D:AndroidDevelopandroid-sdk-windows點(diǎn)擊 Apply、OK。配置完成。5.創(chuàng)建 AVD為使 Android 應(yīng)用程序可以在模擬器上運(yùn)行,必須創(chuàng)建 AVD。1、在 Eclipse 中。選擇 Windows Android SDK and AVD M
24、anager2、點(diǎn)擊左側(cè)面板的 Virtual Devices,再右側(cè)點(diǎn)擊 New3、填入 Name,選擇 Target 的 API,SD Card 大小任意,Skin 隨便選,Hardware 目前保持默認(rèn)值4、點(diǎn)擊 Create AVD 即可完成創(chuàng)建 AVD。1. . . . 11 / 32第三章開發(fā)概述3.1背景概述俄羅斯方塊是一款風(fēng)靡全球的電視游戲機(jī)和掌上游戲機(jī)游戲,它曾經(jīng)造成的轟動(dòng)與造成的經(jīng)濟(jì)價(jià)值可以說是游戲史上的一件大事。這款游戲最初是由聯(lián)的游戲制作人 Alex Pajitnov 制作的,它看似簡(jiǎn)單但卻變化無窮,令人上癮。相信大多數(shù)用戶都還記得為它癡迷得茶不思飯不想的那個(gè)俄羅斯方塊
25、時(shí)代。究其歷史,俄羅斯方塊最早還是出現(xiàn)在 PC 機(jī)上,而我國(guó)的用戶都是通過紅白機(jī)了解、喜歡上它的?,F(xiàn)在 Android 手機(jī)游戲的興起又將重新掀起這股讓人沉迷的俄羅斯方塊風(fēng)潮。對(duì)一般用戶來說,它的規(guī)則簡(jiǎn)單,容易上手,且游戲過程變化無窮,而在Android 俄羅斯方塊中,更有一些 Android 游戲所獨(dú)有的魅力更加方便簡(jiǎn)單的操作模式,用戶可在任意的地方任意時(shí)間進(jìn)行游戲。23.2游戲簡(jiǎn)介原本是前聯(lián)科學(xué)家阿列克帕基特諾夫所開發(fā)的教育用軟件,之后開始提供授權(quán)給各個(gè)游戲公司,造成各平臺(tái)上軟件大量發(fā)行的現(xiàn)象。Game Boy 版的俄羅斯方塊在日本賣出 424 萬套,是 Game Boy 史上賣最好的游戲
26、。海灣戰(zhàn)爭(zhēng)時(shí),也是前線美軍最常拿消磨時(shí)間的游戲之一。由于俄羅斯方塊具有的數(shù)學(xué)性、動(dòng)態(tài)性與知名度,也經(jīng)常拿來作為游戲程序設(shè)計(jì)的練習(xí)題材。俄羅斯方塊曾經(jīng)造成的轟動(dòng)與造成的經(jīng)濟(jì)價(jià)值可以說是游戲史上的一件大事,它看似簡(jiǎn)單但卻變化無窮,令人上癮。相信大多數(shù)用戶都還記得為它癡迷得茶不思飯不想的那個(gè)俄羅斯方塊時(shí)代。俄羅斯方塊上手極其簡(jiǎn)單,但是要熟練地掌握其中的操作與擺放技巧,難度卻不低。作為家喻戶曉老少皆宜的大眾游戲,其普與程度可以說是史上任何一款游戲都無法相比的。功能概述1、一個(gè)用于擺放小型正方形的平面虛擬場(chǎng)地,其標(biāo)準(zhǔn)大?。盒袑挒?24,列高為 25,以每個(gè)小正方形為單位。2、一組由 4 個(gè)小型正方形組成
27、的規(guī)則圖形,英文稱為 Tetromino,中文通稱為方塊共有 7 種,分別以 S、Z、L、J、I、O、T 這 7 個(gè)字母的形狀來命名。I:一次最多消除四層J(左右):最多消除三層,或消除二層. . . . 12 / 32L:最多消除三層,或消除二層O:消除一至二層S(左右):最多二層,容易造成孔洞Z (左右):最多二層,容易造成孔洞T:最多二層(1)部分游戲有單格方塊,可以穿透固定的方塊到達(dá)最下層空位。其他的改版中出現(xiàn)更多特別的造型。方塊會(huì)從區(qū)域上方開始緩慢繼續(xù)落下。(2)玩家可以做的操作有:以 90 度為單位旋轉(zhuǎn)方塊,以格子為單位左右移動(dòng)方塊,讓方塊加速落下。(3)方塊移到區(qū)域最下方或是著地
28、到其他方塊上無法移動(dòng)時(shí),就會(huì)固定在該處,而新的方塊出現(xiàn)在區(qū)域上方開始落下。(4)當(dāng)區(qū)域中某一列橫向格子全部由方塊填滿,則該列會(huì)消失并成為玩家的得分。同時(shí)刪除的列數(shù)越多,得分指數(shù)上升。(5)當(dāng)固定的方塊堆到區(qū)域最上方而無法消除層數(shù)時(shí),則游戲結(jié)束。(6)一般來說,游戲還會(huì)提示下一個(gè)要落下的方塊,熟練的玩家會(huì)計(jì)算到下一個(gè)方塊,評(píng)估現(xiàn)在要如何進(jìn)行。由于游戲能不斷進(jìn)行下去對(duì)商業(yè)用游戲不太理想,所以一般還會(huì)隨著游戲的進(jìn)行而加速提高難度。3、通過設(shè)計(jì)者預(yù)先設(shè)置的隨機(jī)發(fā)生器不斷地輸出單個(gè)方塊到場(chǎng)地頂部,以一定的規(guī)則進(jìn)行移動(dòng)、旋轉(zhuǎn)、下落和擺放,鎖定并填充到場(chǎng)地中。每次擺放如果將場(chǎng)地的一行或多行完全填滿,則組成這
29、些行的所有小正方形將被消除,并且以此來換取一定的積分或者其他形式的獎(jiǎng)勵(lì)。而未被消除的方塊會(huì)一直累積,并對(duì)后來的方塊擺放造成各種影響。4、如果未被消除的方塊堆放的高度超過場(chǎng)地所規(guī)定的最大高度(并不一定是 20 或者玩家所能見到的高度) ,則游戲結(jié)束。具體到每一款不同的游戲,其中的細(xì)節(jié)規(guī)則都可能有千差萬別,但是以上的基本規(guī)則是一樣的。3.3游戲設(shè)計(jì)流程初始化界面開始初始化界面. . . . 13 / 32圖 3-1 游戲運(yùn)行流程圖游戲模塊游戲模塊1. 命名模塊完成有戶名的注冊(cè)。2. 儲(chǔ)存模塊完成游戲得存儲(chǔ)和用戶名的存儲(chǔ)。由 TileStore 和 ResourceStore來存儲(chǔ)游戲進(jìn)程等;數(shù)據(jù)庫
30、來存儲(chǔ)用戶名和積分?jǐn)?shù)值。3. 功能模塊(1)游戲控制模塊;主要完成游戲的左、右、下的移動(dòng)功能和上的變形功能;由 TlieView 和 TetrisView 類來實(shí)現(xiàn)代碼功能:變形的功能和方法:完成游戲邊界控制;(2).游戲顯示模塊;完成游戲界面的設(shè)計(jì)和布局;完成游戲中模塊的形狀判斷和顯示;(3).游戲速度模塊;實(shí)現(xiàn)游戲關(guān)卡調(diào)整、設(shè)置游戲難度;(4).游戲積分模塊;實(shí)現(xiàn)游戲玩家的積分;實(shí)現(xiàn)游戲中消除行時(shí)的游戲積分;下落是否停止能否出現(xiàn)下一個(gè)方塊組合結(jié)束隨機(jī)顯示方塊組方塊勻速下落. . . . 14 / 324.工具類模塊;實(shí)現(xiàn)積分的計(jì)算和關(guān)卡的計(jì)算。3.4游戲操作方法1、安裝 apk 游戲安裝包
31、,在 Android 手機(jī)的資源管理其中找到并點(diǎn)擊Elos.apk 文件選擇安裝。2、點(diǎn)擊游戲圖標(biāo)進(jìn)入游戲界面后按鍵盤的MENU按鈕,在彈出的菜單中選擇“開始”來開始游戲(如圖 3-3 所示)。圖 3-2 游戲用戶界面. . . . 15 / 32圖 3-3 游戲功能界面圖 3-4 游戲開始界面. . . . 16 / 32圖 3-5 游戲結(jié)束界面圖 3-6 游戲玩家排行. . . . 17 / 32圖 3-7 游戲幫助3、游戲玩家可以再游戲中采用點(diǎn)擊“返回鍵”按鈕來選擇“關(guān)卡” 、 “退出”、 “開始”以實(shí)現(xiàn)暫停、退出、重新開始功能(如圖 3-3 示) 。4、鍵盤操作操作:系統(tǒng)缺省設(shè)置使用觸
32、摸屏,用手指點(diǎn)擊手機(jī)鍵盤左鍵一次左移一格(長(zhǎng)按則快速移動(dòng)到最左邊) ;點(diǎn)擊手機(jī)右鍵一次右移一格(長(zhǎng)按則快速移動(dòng)到最右邊) ;點(diǎn)擊手機(jī)向上按鍵方塊本身旋轉(zhuǎn);點(diǎn)擊手機(jī)向下的按鍵一次向下移一格(長(zhǎng)按則快速移動(dòng)到最下邊) 。5、計(jì)分牌顯示的容:“分?jǐn)?shù)” ”為本局游戲所得的分?jǐn)?shù),一次消一行 100 分、2 行 300 分、3 行 600分、4 行 1000 分。 (如圖 3-4 中的得分和消除行)“關(guān)卡”為本局游戲所在的關(guān)卡,所在的關(guān)卡越高,難度越大。“時(shí)間”為本局游戲從開始到當(dāng)前所用的時(shí)間。. . . . 18 / 32第四章游戲策劃與準(zhǔn)備工作4.1游戲策劃游戲策劃游戲的策劃是指對(duì)游戲中主要功能的實(shí)現(xiàn)
33、方案進(jìn)行確定的過程,大型游戲需要縝密的策劃才可以開發(fā)。例如,呈現(xiàn)技術(shù)、目標(biāo)平臺(tái)等容。4.2游戲設(shè)計(jì)游戲設(shè)計(jì)本游戲?yàn)榻?jīng)典俄羅斯方塊游戲,每一次消除一層加 100 分、2 層 300 分、3層 600 分、4 層 1000 分。游戲中的方塊形狀都是隨機(jī)生成的(共 7 種) 。隨著難度的增加方塊下落的默認(rèn)速度會(huì)增加,游戲分?jǐn)?shù)沒有上限。布局設(shè)計(jì)是一個(gè) 22 x 12 的方格組成。不同的方塊兒有不同的顏色,格子顏色是根據(jù)下落模塊兒確定。有顏色是為 1,無顏色是 0。4.3呈現(xiàn)技術(shù)呈現(xiàn)技術(shù)本游戲采用的游戲背景和其他圖片都是用美圖秀秀軟件編輯的。編程采用Android-sdk+java 技術(shù)。運(yùn)用到了數(shù)據(jù)庫
34、的知識(shí),MVC 模式。4.4目標(biāo)平臺(tái)目標(biāo)平臺(tái)本游戲的目標(biāo)平臺(tái)為 Android1.5。4.5操作方式操作方式游戲的操作方式手機(jī)鍵盤操作,游戲菜單的彈出是通過鍵盤來操作的。4.6游戲開發(fā)平臺(tái)游戲開發(fā)平臺(tái)本次開發(fā)采用 jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008 開發(fā)包、eclipse-SDK-3.6.2-win32 開發(fā)工具、android-sdk-windows 開發(fā)包。JDK(Java Development Kit)是 Sun Microsystems 針對(duì) Java 開發(fā)員的產(chǎn)品。自從 Java 推出以來,JDK 已經(jīng)成為使用最廣泛的 J
35、ava SDK。JDK 是整個(gè) Java的核心,包括了 Java 運(yùn)行環(huán)境,Java 工具和 Java 基礎(chǔ)的類庫。JDK 是學(xué)好Java 的第一步。而專門行在 x86 平臺(tái)的 Jrocket 在服務(wù)端運(yùn)行效率也要比 Sun JDK 好很多。從 SUN 的 JDK5.0 開始,提供了泛型等非常實(shí)用的功能,其版本也不斷更新,運(yùn)行效率得到了非常大的提高。Eclipse(軟件開發(fā)者包)是 Eclipse Platform、JDT 和 PDE 所生產(chǎn)的組件合并,它們可以一次下載。這些部分在一起提供了一個(gè)具有豐富特性的開發(fā)環(huán)境,允許開發(fā)者有效地建造可以無縫集成到 Eclipse Platform 中的工
36、具。. . . . 19 / 32Eclipse SDK 由 Eclipse 項(xiàng)目生產(chǎn)的工具和來自其它開放源代碼的第三方軟件組合而成。Eclipse 項(xiàng)目生產(chǎn)的軟件以 GPL 發(fā)布,第三方組件有各自自身的許可協(xié)議。Android SDK(Google Android 專屬的軟件開發(fā)工具包) ,它是編寫Android 應(yīng)用程序的基石。78第五章游戲構(gòu)架5.1游戲模塊構(gòu)成圖游戲模塊構(gòu)成圖前臺(tái)表示模塊主要用于游戲畫面的渲染。其中包括游戲界面和管理面版兩個(gè)模塊,游戲界面主要為游戲中出現(xiàn)的界面,比如:開始界面和游戲中界面。管理面板包括開始、退出、暫停三部分,主要為玩家提供控制游戲行進(jìn)和退出。(如圖 2)
37、圖 5-1 模塊構(gòu)成圖俄羅斯方塊用戶模塊游戲模塊存儲(chǔ)模塊工具模塊游戲界面界面管理模塊實(shí)體生成游戲積分儲(chǔ)存關(guān)卡數(shù)據(jù)儲(chǔ)存用戶積分計(jì)算游戲積分計(jì)算. . . . 20 / 32圖 5-2 游戲開發(fā)架構(gòu)圖5.2游戲概要設(shè)計(jì)圖游戲概要設(shè)計(jì)圖 本游戲的設(shè)計(jì)采用 MVC 模式(Model -View -Controller) ,即把本游戲的輸入、處理、輸出流程按照 Model、View、Controller 的方式進(jìn)行分離,這樣本游戲的設(shè)計(jì)被分成三個(gè)層模型層、視圖層、控制層。MVC 模型圖如下所示:圖 5-3 MVC 模型圖. . . . 21 / 32圖形工廠類圖形類障礙物類中央控制器處理按鍵事件處理邏輯
38、顯示面板顯示生產(chǎn)圖 5-3 系統(tǒng)流程結(jié)構(gòu)設(shè)計(jì)5.3各個(gè)功能模塊圖設(shè)計(jì)各個(gè)功能模塊圖設(shè)計(jì)圖形工廠圖形障礙物生產(chǎn)圖形下落產(chǎn)生障礙物圖 5-5 模型層(Model)功能模塊圖設(shè)計(jì)游戲面板方塊的顯示障礙物的顯示圖 5-6 視圖層(View)功能模塊圖設(shè)計(jì)觸發(fā)按鍵事件. . . . 22 / 32中央控制器圖形工廠生產(chǎn)圖形顯示面板顯示圖形和障礙物處理按鍵和鼠標(biāo)事件圖 5-7 控制層(Controller)功能模塊圖設(shè)計(jì)游戲?qū)嶓w模塊主要用于后臺(tái)游戲邏輯。本游戲中僅有方塊實(shí)體模塊一部分。方塊實(shí)體模塊主要負(fù)責(zé)對(duì)已落下、正在落下和即將落下的方塊圖案的顏色和形狀進(jìn)行控制,核對(duì)正在落下的方塊圖案的行進(jìn)路線、形狀變換
39、進(jìn)行控制。通過圖形工廠類 ShapeFactory 的 getShape(ShapeListener listener)方法隨機(jī)產(chǎn)生方塊的某種狀態(tài),這里運(yùn)用了工廠設(shè)計(jì)模式,這種設(shè)計(jì)模式是為了實(shí)現(xiàn)高聚低耦合而存在的,這種設(shè)計(jì)模式的通俗解釋就是:你想要一個(gè)產(chǎn)品,你需要讓工廠給你生產(chǎn)一個(gè),你要告訴工廠你要生產(chǎn)什么產(chǎn)品,就把你需要生產(chǎn)的這個(gè)產(chǎn)品當(dāng)做參數(shù)傳給工廠類的生產(chǎn)產(chǎn)品的方法,然后根據(jù)你傳進(jìn)來的產(chǎn)品,而決定工廠人生產(chǎn)什么產(chǎn)品,產(chǎn)生出來產(chǎn)品后,最后要返回您要的這個(gè)東西。79圖 5-8 下落方塊兒圖的形狀定義一個(gè) 4x4 方陣,共 16 個(gè)小格。用“0”和“1”來表示每個(gè)方格是繪制隨機(jī)產(chǎn)生一個(gè)數(shù)隨機(jī)數(shù)一
40、字型Z 字型反 Z7 字型反 7 字型倒 T行田字型. . . . 23 / 32還是空白,由此可以組合出多種圖形,如圖所示:圖 5-9 圖形模塊是設(shè)計(jì)其中圖一表示為0,0,0,0, 1,1,1,1 , 0,0,0,0, 0,0,0,0其中圖二表示為0,0,0,0, 0,1,1,0 , 0,1,1,0, 0,0,0,0其中圖三表示為0,0,0,0, 0,1,0,0 , 0,1,1,1, 0,0,0,0其中圖四表示為0,0,0,0, 0,1,0,1 , 0,1,1,0, 0,0,1,0方塊的旋轉(zhuǎn)是通過繪制 4 個(gè)方向的方塊,在不同旋轉(zhuǎn)角度顯示不同方向的方塊來完成的。所以程序要控制方塊的旋轉(zhuǎn)方向,
41、只要控制顯示哪副圖就可以了。本游戲是用一個(gè)三維數(shù)組 int store = new int;作為存儲(chǔ)方塊的數(shù)據(jù)結(jié)構(gòu)來保存方塊的 28 種狀態(tài)的數(shù)據(jù)存儲(chǔ)模塊包括游戲中關(guān)卡數(shù)據(jù)的存儲(chǔ)和的分?jǐn)?shù)據(jù)的存儲(chǔ)。游戲每一次啟動(dòng)都將全部刪除上次啟動(dòng)時(shí)所產(chǎn)生的數(shù)據(jù),重新進(jìn)行新的數(shù)據(jù)存儲(chǔ)。后臺(tái)運(yùn)行時(shí)重新進(jìn)入游戲不算做重啟游戲,故數(shù)據(jù)不會(huì)重置。工具類模塊將自身的靜態(tài)成員或者方法提供給游戲中的其他類使用。第六章游戲中各個(gè)類中實(shí)現(xiàn)的功能由于在本次游戲的開發(fā)中本人對(duì)代碼的注釋比較詳盡,故對(duì)各個(gè)類所實(shí)現(xiàn)的功能在代碼中都有較詳細(xì)的注釋。(1)游戲的左、右、下的移動(dòng)功能和上的變形功能的實(shí)現(xiàn);由 TlieView 和 Tetris
42、View 類來實(shí)現(xiàn)代碼功能的類:右移功能實(shí)現(xiàn)public boolean moveRightOnCourt(Court court) Log.i(tetris,here is moveRightOnCourt);. . . . 24 / 32for (int i = 0; i 4; i+) for (int j = 0; j 4; j+) if (mTileij != 0) if ( !court.isSpace(mOffsetX + i + 1, mOffsetY + j) ) return false;+mOffsetX;return true;左移功能實(shí)現(xiàn)public boolean m
43、oveLeftOnCourt(Court court) int i,j;for (i = 0; i 4; i+) for (j = 0; j 4; j+) if (mTileij != 0) if (!court.isSpace(mOffsetX + i - 1, mOffsetY + j) return false;mOffsetX-;return true;下移功能實(shí)現(xiàn)public boolean moveDownOnCourt(Court court) int i,j;for (i = 0; i 4; i+) for (j = 0; j 0) tempShape-; else tempS
44、hape += 3;for (int i = 0; i 4; i+) for (int j = 0; j 4; j+) tempTileij=TileStore.storetempShapei;tempX = mOffsetX;tempY = mOffsetY;boolean canTurn = false;. . . . 26 / 32if( court.availableForTile(tempTile,tempX,tempY) )canTurn = true;elseif (court.availableForTile(tempTile,tempX-1,tempY) )canTurn =
45、 true;tempX-;elseif(court.availableForTile(tempTile,tempX-2,tempY) )canTurn =true;tempX -=2;else if(court.availableForTile(tempTile,tempX+1,tempY) )canTurn = true;tempX+;else if(court.availableForTile(tempTile,tempX+2,tempY) )canTurn = true;tempX += 2;if (canTurn) mShape = tempShape;mOffsetX = tempX
46、;mOffsetY = tempY;for (int i = 0; i 4; i+) for (int j = 0; j = 2000 & mScore = 4000 & mScore = 6000 & mScore = 8000 & mScore = 10000)setLevel(6);AcitivityRank 類實(shí)現(xiàn)用戶排行榜統(tǒng)計(jì);public class ActivityRank extends Activity private RankDatabase mDatabase = null;private ListView mListView = null;public void onC
47、reate(Bundle saved)super.onCreate(saved);setTitle(排行榜);setContentView(R.layout.rank);init();TileStore 類是各種圖形通過數(shù)組形式存儲(chǔ)的存儲(chǔ)類。public static int store = new int / I 0, 0, 0, 1 , 0, 0, 0, 1 , 0, 0, 0, 1 , 0, 0, 0, 1 DrawTool 是一個(gè)圖形繪制類;功能是實(shí)現(xiàn)圖片的繪制。public class DrawToolpublic static void paintImage(Canvas canv
48、as,Bitmap bitmap,int x,int y)canvas.drawBitmap(bitmap,x,y,null);. . . . 30 / 32MusicPlayer 是音樂播放的實(shí)現(xiàn)類。第七章結(jié)論面向?qū)ο笤O(shè)計(jì)方法以對(duì)象為基礎(chǔ),利用特定的軟件工具直接完成從對(duì)象客體的描述到軟件結(jié)構(gòu)之間的轉(zhuǎn)換。這是面向?qū)ο笤O(shè)計(jì)方法最主要的特點(diǎn)和成就。面向?qū)ο笤O(shè)計(jì)方法的應(yīng)用解決了傳統(tǒng)結(jié)構(gòu)化開發(fā)方法中客觀世界描述工具與軟件結(jié)構(gòu)的不一致性問題,縮短了開發(fā)周期,解決了從分析和設(shè)計(jì)到軟件模塊結(jié)構(gòu)之間多次轉(zhuǎn)換映射的繁雜過程,是一種很有發(fā)展前途的系統(tǒng)開發(fā)方法。經(jīng)過數(shù)個(gè)月的努力,Android 平臺(tái)俄羅斯方塊的游戲的設(shè)計(jì)和開發(fā)工作的完成。由于對(duì) JAVA 濃厚的興趣引發(fā)了我對(duì) Android 的好奇心,從一開始什么都不懂一直摸索著運(yùn)用了很多高級(jí)技術(shù)完成了這個(gè)軟件。 在這個(gè)過程中,我學(xué)會(huì)了很多知識(shí),比如 Android 環(huán)境的搭建、Intent、Activity、Se
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴州省交通運(yùn)輸廳所屬事業(yè)單位招聘真題2024
- 2024年阿拉善盟市屬事業(yè)單位考試真題
- 文化藝術(shù)合同糾紛訴訟狀范文
- 企業(yè)安全管理人員安全培訓(xùn)試題附答案(培優(yōu))
- 電氣自動(dòng)化專業(yè)實(shí)習(xí)項(xiàng)目實(shí)施報(bào)告
- 2025年教育數(shù)字化轉(zhuǎn)型師德思考心得體會(huì)
- 音樂主題的跨學(xué)科教學(xué)計(jì)劃
- 地鐵建設(shè)項(xiàng)目的經(jīng)濟(jì)性評(píng)估與控制措施
- 2025年秋季小學(xué)少先隊(duì)青春勵(lì)志計(jì)劃
- 醫(yī)療行業(yè)管理研修班學(xué)習(xí)心得體會(huì)
- 陜西華電旬邑風(fēng)電場(chǎng)二期50MW工程項(xiàng)目環(huán)評(píng)報(bào)告
- 蘭州市初級(jí)中學(xué)設(shè)備配置標(biāo)準(zhǔn)(試行)
- 吳晗《談骨氣》原文與內(nèi)容分析
- GB/T 9728-1988化學(xué)試劑硫酸鹽測(cè)定通用方法
- 中寧縣牛羊交易市場(chǎng)建設(shè)項(xiàng)目可行性研究報(bào)告
- 東洋(TOYO)VF64C系列變頻器中文說明書
- 公司組織結(jié)構(gòu)圖Word模板
- 內(nèi)部控制案例第02章案例6 獐子島
- 石化公司成品油銷售中心考核方案
- 消防監(jiān)督執(zhí)法規(guī)范化建設(shè)培訓(xùn)課件
- 標(biāo)準(zhǔn)魯班尺尺寸對(duì)比表
評(píng)論
0/150
提交評(píng)論