基于android俄羅斯方塊的開發(fā)和設(shè)計說明_第1頁
基于android俄羅斯方塊的開發(fā)和設(shè)計說明_第2頁
基于android俄羅斯方塊的開發(fā)和設(shè)計說明_第3頁
基于android俄羅斯方塊的開發(fā)和設(shè)計說明_第4頁
基于android俄羅斯方塊的開發(fā)和設(shè)計說明_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、. . . . 1 / 32市大學(xué)軟件學(xué)院市大學(xué)軟件學(xué)院畢業(yè)論文畢業(yè)論文 基于基于 androidandroid 俄羅斯方塊的開發(fā)和設(shè)計俄羅斯方塊的開發(fā)和設(shè)計姓姓 名名 斌斌 專專 業(yè)業(yè) 軟件工程軟件工程 學(xué)學(xué) 號號 11503106071150310607 學(xué)學(xué) 籍籍 校校 師大學(xué)師大學(xué) 學(xué)校指導(dǎo)教師學(xué)校指導(dǎo)教師 王曉曄王曉曄 職職 稱稱 副教授副教授 企業(yè)指導(dǎo)教師企業(yè)指導(dǎo)教師 唐泰彬唐泰彬 職職 稱稱 工程師工程師 20132013 年年 6 6 月月摘 要. . . . 2 / 323G 時代已經(jīng)慢慢的融入了我們的日常生活,隨著國家的通信政策以與各大運營商的宣傳的影響,3G 手機已經(jīng)隨處

2、可見,面對全球信息、技術(shù)空前高速發(fā)展,信息高速化發(fā)展更是社會進步的一個標(biāo)志。在全球信息化的今天,手機已經(jīng)成為人們?nèi)粘I钪胁豢扇鄙俚囊徊糠郑绕涫窃陔娮赢a(chǎn)品日新月異的今天,我們在平時隨處可見的電子產(chǎn)品中,手機無疑是一個最大的用戶集,而各大廠商智能手機則依舊是電子市場的一顆耀眼的明星。其中的代表作有諾 Nokia 的塞班系統(tǒng),摩托羅拉的 Linux 系統(tǒng),但是其中異軍突起的仍然是 Google 的Andriod 系統(tǒng)以其開放的源代碼和方便簡潔的操作必然是未來智能手機領(lǐng)域的領(lǐng)頭羊。這次畢業(yè)設(shè)計我們選擇基于 Andriod 的手機游戲一定會使我們在以后的工作中提供更多的機會。 。隨著新技術(shù)的不斷開發(fā)

3、與應(yīng)用,近年來 Java 技術(shù)發(fā)展十分迅速,一個以Java 應(yīng)用為主的新技術(shù)革命浪潮正在蓬勃興起。而基于 Andriod 的軟件開發(fā)是一個前景很大的技術(shù),通過這次畢業(yè)設(shè)計,能使我們從對軟件的設(shè)計中體會到實際中軟件開發(fā)的過程,提高我們的專業(yè)能力,最終能夠獲得很強的專業(yè)知識。Android 是運用 java 編程語言編寫的應(yīng)用程序。然而,Java 編程語言不僅僅用于編寫 Web 上嬌小可愛的娛樂性小應(yīng)用程序。通用的、高級 Java 編程語言也是一個功能強大的軟件平臺。使用豐富的 API,你可以寫多種程序。因此,Android 也具有 java 語言的特點。如果你已經(jīng)學(xué)習(xí)過 java,你或許已經(jīng)熟悉

4、了java 編程語言特點, 那么對于 Android 編程就會更容易掌握。關(guān)鍵詞:關(guān)鍵詞:Android 手機游戲,Android 平臺,Java 技術(shù),游戲設(shè)計。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前言隨著智能手機的快速普與,智能手機操作系統(tǒng)市場風(fēng)生水起。為了讓智能手機用戶能夠隨時隨地查詢互聯(lián)網(wǎng)所提供的服務(wù),一種高效的辦法就是將應(yīng)用系統(tǒng)的功能拓展到手機終端上,讓手機能夠通過移動網(wǎng)以與互聯(lián)網(wǎng)訪問 Web 并處理各種各樣的業(yè)務(wù)。因此,智能手機的應(yīng)用軟件與其需要的服務(wù)將有廣闊的發(fā)展前景。. . . . 4 / 32在如今這個智能手機系統(tǒng)群雄紛爭的時候,2008 年 Google 推出了一款名為 Android 的開源智能手機操作系統(tǒng),它采用 Linux 核,開放手機聯(lián)盟(OHA)成員可以任意使用和修改 SDK 包,系統(tǒng)的開源性使其具有良好的拓展性。這款軟件

11、包括了操作系統(tǒng)、用戶界面和應(yīng)用程序,即智能手機工作所需要的全部軟件。Android 的最大特點是其開放性體系架構(gòu),不僅具有非常好的開發(fā)、調(diào)試環(huán)境,而且還支持各種可擴展的用戶體驗,包括豐富的圖形組件、多媒體支持功能以與強大的瀏覽器。因此,對于軟件從業(yè)人員來說,Android 平臺具有無限的吸引力。游戲是人們活動中一項非常重要的容,有人認(rèn)為如果哪一天人類對所有的游戲都失去興趣,恐怕世界的末日就要到了。電腦對游戲的貢獻有目共睹,現(xiàn)在摸過電腦的人很少有沒玩過電腦游戲的,喜歡游戲的人也很少有不玩電腦的。俄羅斯方塊是一款風(fēng)靡全球的電視游戲機和掌上游戲機游戲,它曾經(jīng)造成的轟動與造成的經(jīng)濟價值可以說是游戲史上

12、的一件大事。這款游戲最初是由聯(lián)的游戲制作人Alex Pajitnov制作的,它看似簡單但卻變化無窮,令人上癮。俄羅斯方塊最早還是出現(xiàn)在PC機上,而我國的用戶都是通過紅白機了解、喜歡上它的?,F(xiàn)在聯(lián)眾又將重新掀起這股讓人沉迷的俄羅斯方塊風(fēng)潮。對一般用戶來說,它的規(guī)則簡單,容易上手,且游戲過程變化無窮,而在聯(lián)眾俄羅斯方塊中,更有一些聯(lián)眾網(wǎng)絡(luò)游戲所獨有的魅力有單機作戰(zhàn)與兩人在線對戰(zhàn)兩種模式,用戶可任選一種進行游戲。網(wǎng)絡(luò)模式還增加了積分制,使用戶既能感受到游戲中的樂趣,也給用戶提供了一個展現(xiàn)自己高超技藝的場所,那手機上有事什么樣呢?俄羅斯方塊游戲可以說是隨計算機的發(fā)展而發(fā)展,并不斷推出新演變出各種類似游

13、戲, 深受廣大玩家喜愛。這個游戲有的簡單, 有的復(fù)雜, 但其根本原理是一樣的都是對運動的方塊進行組合, 來訓(xùn)練玩家的反應(yīng)能力。大多數(shù)人都認(rèn)為一般游戲軟件都具有很高的技術(shù)難度, 隨著開發(fā)工具與軟件開發(fā)方法學(xué)的不斷發(fā)展, 至今的在Android手機上的游戲也是。本文就在分析討論 Android 手機軟件開發(fā)技術(shù)原理的基礎(chǔ)上,開發(fā)出能為用戶提供更好的基于 Android 平臺的 3G 手機游戲俄羅斯方塊兒的設(shè)計和開發(fā)。25目錄第一章緒論 6. . . . 5 / 32第二章需求分析 72.1 需求概括 72.2 目標(biāo) 72.3 用戶類型和特征 72.4 運行環(huán)境 72.5 環(huán)境搭建 7第三章開發(fā)概述

14、 123.1 背景概述 123.2 游戲簡介 123.3 游戲設(shè)計流程 143.4 游戲操作方法 15第四章游戲策劃與準(zhǔn)備工作 194.1 游戲策劃 194.2 游戲設(shè)計 194.3 呈現(xiàn)技術(shù) 194.4 目標(biāo)平臺 194.5 操作方式 194.6 游戲開發(fā)平臺 19第五章游戲構(gòu)架 215.1 游戲模塊構(gòu)成圖 215.2 游戲概要設(shè)計圖 225.3 各個功能模塊圖設(shè)計 23第六章游戲中各個類中實現(xiàn)的功能 26第七章結(jié)論 33參考文獻 34致 35第一章緒 論2007 年,Google 公司推出了 Android 手機操作系統(tǒng),該系統(tǒng)是基于 Linux平臺的開源手機操作系統(tǒng),并且該系統(tǒng)已經(jīng)成為了

15、新 3G 時代的主流移動智能平臺之一,根據(jù)調(diào)查,在中國基于 Android 操作系統(tǒng)的智能手機在中國智能手機. . . . 6 / 32總銷量中所占的比例已經(jīng)達到了 52%,越來越多的手機用戶在接觸安卓手機。Android 是一種以 Linux 為基礎(chǔ)的開放源代碼操作系統(tǒng),主要使用于便攜設(shè)備。目前尚未有統(tǒng)一中文名稱,中國大陸地區(qū)較多人使用“安卓”或“安智” 。Android 操作系統(tǒng)最初由 Andy Runbin 開發(fā),最初主要支持手機。2005 年由Google 收購注資,并組建開發(fā)手機聯(lián)盟開發(fā)改良,逐漸擴展到平板電腦與其他領(lǐng)域上。Android 的主要競爭對手是蘋果手機的 ios 與 RI

16、M 的 BlackBerry OS。2011 年第一季度,Android 在全球的市場份額首次超過塞班系統(tǒng),躍居全球第一。 2012 年 11 月數(shù)據(jù)顯示,Android 占據(jù)全球智能手機操作系統(tǒng)市場 76%的份額,中國市場占有率為 90%。移動互聯(lián)網(wǎng),就是將移動通信和互聯(lián)網(wǎng)二者結(jié)合起來,成為一體。在最近幾年里,移動通信和互聯(lián)網(wǎng)成為當(dāng)今世界發(fā)展最快、市場潛力最大、前景最誘人的兩大業(yè)務(wù),它們的增長速度都是任何預(yù)測家未曾預(yù)料到的,所以移動互聯(lián)網(wǎng)可以預(yù)見將會創(chuàng)造怎樣的經(jīng)濟神話。伴隨著移動互聯(lián)網(wǎng)的快速發(fā)展,智能手機的快速普與,傳統(tǒng)的制質(zhì)地圖已經(jīng)不能滿足現(xiàn)在市民的便利出行25。運行在安卓系統(tǒng)平臺的游戲,

17、運行在安卓平臺的游戲深受大家的喜愛?,F(xiàn)在,Android 游戲不但可以運行于智能手機,也可以運行在平板電腦上,俄羅斯方塊(Tetris, 俄文:)是一款風(fēng)靡全球的電視游戲機和掌上游戲機游戲,它由俄羅斯人阿列克帕基特諾夫發(fā)明,故得此名。俄羅斯方塊的基本規(guī)則是移動、旋轉(zhuǎn)和擺放游戲自動輸出的各種方塊,使之排列成完整的一行或多行并且消除得分。由于上手簡單、老少皆宜,從而家喻戶曉,風(fēng)靡世界。因此,手機上玩這款游戲也是我們必須要做。第二章需求分析2.1需求概括完成游戲在手機上功能要求。2.2目標(biāo)該游戲簡單容易上手,更有一定的益智性,可以鍛煉你的記憶能力,也有一定的娛樂性,其中不同游戲類型能讓你感覺到這個游

18、戲的多樣性2.3用戶類型和特征用戶主要是 16 歲至 45 歲的手機用戶群,用戶只需要操作手機界面就能夠進行游戲的操作。. . . . 7 / 322.4運行環(huán)境2.4.1硬件資源裝載了 Android 系統(tǒng)的智能手機。2.4.2軟件資源操作系統(tǒng): Windows XP 或 Windows 7。Android sdkJDK:jdk1.6。Eclipse2.5環(huán)境搭建1.JDK 安裝如果你還沒有 JDK 的話,可以去這里下載,接下來的工作就是安裝提示一步一步走。設(shè)置環(huán)境變量步驟如下:我的電腦-屬性-高級-環(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)境變量對搭建 Android 開發(fā)環(huán)境不是必須的,可以跳過。安裝完成之后,可以在檢查 JDK 是否安裝成功。打開 cmd 窗口,輸入 java version 查看 JDK 的版本信息。如圖 2-1 所示:圖 2-1 驗證 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,下載完成后解壓到任意路徑。運行 SDK Setup.exe,點擊 Available Packages。如果沒有出現(xiàn)可安裝的包,請點擊 Settings,選中 Misc 中的Force s:/.這項,再點擊Available Packages 。

21、選擇希望安裝的 SDK 與其文檔或者其它包,點擊 Installation Selected、Accept All、Install Accepted,開始下載安裝所選包在用戶變量中新建 PATH 值為:Android SDK 中的 tools 絕對路徑(本機為D:AndroidDevelopandroid-sdk-windowstools) 。如圖 2-3 所示:. . . . 9 / 32圖 2-3 設(shè)置 Android SDK 的環(huán)境變量“確定”后,重新啟動計算機。重啟計算機以后,進入 cmd 命令窗口,檢查 SDK 是不是安裝成功。運行 android h 如果有圖 2-4 所示以下的輸

22、出,表明安裝成功:圖 2-4 驗證 Android SDK 是否安裝成功4.ADT 安裝打開 Eclipse IDE,進入菜單中的 Help - Install New Software點擊 Add.按鈕,彈出對話框要求輸入 Name 和 Location:Name 自己隨便取,Location 輸入 dl-ssl.google./android/eclipse。如圖 2-5 所示:圖 2-5 add site 框圖確定返回后,在 work with 后的下拉列表中選擇我們剛才添加的 ADT,我們會看到下面出有 Developer Tools,展開它會有 Android DDMS 和 Andr

23、oid Development Tool,勾選他們。 如圖 2-6 所示:. . . . 10 / 32圖 2-6 install 框圖然后就是按提示一步一步 next。完成之后:選擇 Window Preferences.在左邊的面板選擇 Android,然后在右側(cè)點擊 Browse.并選中 SDK 路徑,本機為: D:AndroidDevelopandroid-sdk-windows點擊 Apply、OK。配置完成。5.創(chuàng)建 AVD為使 Android 應(yīng)用程序可以在模擬器上運行,必須創(chuàng)建 AVD。1、在 Eclipse 中。選擇 Windows Android SDK and AVD M

24、anager2、點擊左側(cè)面板的 Virtual Devices,再右側(cè)點擊 New3、填入 Name,選擇 Target 的 API,SD Card 大小任意,Skin 隨便選,Hardware 目前保持默認(rèn)值4、點擊 Create AVD 即可完成創(chuàng)建 AVD。1. . . . 11 / 32第三章開發(fā)概述3.1背景概述俄羅斯方塊是一款風(fēng)靡全球的電視游戲機和掌上游戲機游戲,它曾經(jīng)造成的轟動與造成的經(jīng)濟價值可以說是游戲史上的一件大事。這款游戲最初是由聯(lián)的游戲制作人 Alex Pajitnov 制作的,它看似簡單但卻變化無窮,令人上癮。相信大多數(shù)用戶都還記得為它癡迷得茶不思飯不想的那個俄羅斯方塊

25、時代。究其歷史,俄羅斯方塊最早還是出現(xiàn)在 PC 機上,而我國的用戶都是通過紅白機了解、喜歡上它的?,F(xiàn)在 Android 手機游戲的興起又將重新掀起這股讓人沉迷的俄羅斯方塊風(fēng)潮。對一般用戶來說,它的規(guī)則簡單,容易上手,且游戲過程變化無窮,而在Android 俄羅斯方塊中,更有一些 Android 游戲所獨有的魅力更加方便簡單的操作模式,用戶可在任意的地方任意時間進行游戲。23.2游戲簡介原本是前聯(lián)科學(xué)家阿列克帕基特諾夫所開發(fā)的教育用軟件,之后開始提供授權(quán)給各個游戲公司,造成各平臺上軟件大量發(fā)行的現(xiàn)象。Game Boy 版的俄羅斯方塊在日本賣出 424 萬套,是 Game Boy 史上賣最好的游戲

26、。海灣戰(zhàn)爭時,也是前線美軍最常拿消磨時間的游戲之一。由于俄羅斯方塊具有的數(shù)學(xué)性、動態(tài)性與知名度,也經(jīng)常拿來作為游戲程序設(shè)計的練習(xí)題材。俄羅斯方塊曾經(jīng)造成的轟動與造成的經(jīng)濟價值可以說是游戲史上的一件大事,它看似簡單但卻變化無窮,令人上癮。相信大多數(shù)用戶都還記得為它癡迷得茶不思飯不想的那個俄羅斯方塊時代。俄羅斯方塊上手極其簡單,但是要熟練地掌握其中的操作與擺放技巧,難度卻不低。作為家喻戶曉老少皆宜的大眾游戲,其普與程度可以說是史上任何一款游戲都無法相比的。功能概述1、一個用于擺放小型正方形的平面虛擬場地,其標(biāo)準(zhǔn)大?。盒袑挒?24,列高為 25,以每個小正方形為單位。2、一組由 4 個小型正方形組成

27、的規(guī)則圖形,英文稱為 Tetromino,中文通稱為方塊共有 7 種,分別以 S、Z、L、J、I、O、T 這 7 個字母的形狀來命名。I:一次最多消除四層J(左右):最多消除三層,或消除二層. . . . 12 / 32L:最多消除三層,或消除二層O:消除一至二層S(左右):最多二層,容易造成孔洞Z (左右):最多二層,容易造成孔洞T:最多二層(1)部分游戲有單格方塊,可以穿透固定的方塊到達最下層空位。其他的改版中出現(xiàn)更多特別的造型。方塊會從區(qū)域上方開始緩慢繼續(xù)落下。(2)玩家可以做的操作有:以 90 度為單位旋轉(zhuǎn)方塊,以格子為單位左右移動方塊,讓方塊加速落下。(3)方塊移到區(qū)域最下方或是著地

28、到其他方塊上無法移動時,就會固定在該處,而新的方塊出現(xiàn)在區(qū)域上方開始落下。(4)當(dāng)區(qū)域中某一列橫向格子全部由方塊填滿,則該列會消失并成為玩家的得分。同時刪除的列數(shù)越多,得分指數(shù)上升。(5)當(dāng)固定的方塊堆到區(qū)域最上方而無法消除層數(shù)時,則游戲結(jié)束。(6)一般來說,游戲還會提示下一個要落下的方塊,熟練的玩家會計算到下一個方塊,評估現(xiàn)在要如何進行。由于游戲能不斷進行下去對商業(yè)用游戲不太理想,所以一般還會隨著游戲的進行而加速提高難度。3、通過設(shè)計者預(yù)先設(shè)置的隨機發(fā)生器不斷地輸出單個方塊到場地頂部,以一定的規(guī)則進行移動、旋轉(zhuǎn)、下落和擺放,鎖定并填充到場地中。每次擺放如果將場地的一行或多行完全填滿,則組成這

29、些行的所有小正方形將被消除,并且以此來換取一定的積分或者其他形式的獎勵。而未被消除的方塊會一直累積,并對后來的方塊擺放造成各種影響。4、如果未被消除的方塊堆放的高度超過場地所規(guī)定的最大高度(并不一定是 20 或者玩家所能見到的高度) ,則游戲結(jié)束。具體到每一款不同的游戲,其中的細(xì)節(jié)規(guī)則都可能有千差萬別,但是以上的基本規(guī)則是一樣的。3.3游戲設(shè)計流程初始化界面開始初始化界面. . . . 13 / 32圖 3-1 游戲運行流程圖游戲模塊游戲模塊1. 命名模塊完成有戶名的注冊。2. 儲存模塊完成游戲得存儲和用戶名的存儲。由 TileStore 和 ResourceStore來存儲游戲進程等;數(shù)據(jù)庫

30、來存儲用戶名和積分?jǐn)?shù)值。3. 功能模塊(1)游戲控制模塊;主要完成游戲的左、右、下的移動功能和上的變形功能;由 TlieView 和 TetrisView 類來實現(xiàn)代碼功能:變形的功能和方法:完成游戲邊界控制;(2).游戲顯示模塊;完成游戲界面的設(shè)計和布局;完成游戲中模塊的形狀判斷和顯示;(3).游戲速度模塊;實現(xiàn)游戲關(guān)卡調(diào)整、設(shè)置游戲難度;(4).游戲積分模塊;實現(xiàn)游戲玩家的積分;實現(xiàn)游戲中消除行時的游戲積分;下落是否停止能否出現(xiàn)下一個方塊組合結(jié)束隨機顯示方塊組方塊勻速下落. . . . 14 / 324.工具類模塊;實現(xiàn)積分的計算和關(guān)卡的計算。3.4游戲操作方法1、安裝 apk 游戲安裝包

31、,在 Android 手機的資源管理其中找到并點擊Elos.apk 文件選擇安裝。2、點擊游戲圖標(biāo)進入游戲界面后按鍵盤的MENU按鈕,在彈出的菜單中選擇“開始”來開始游戲(如圖 3-3 所示)。圖 3-2 游戲用戶界面. . . . 15 / 32圖 3-3 游戲功能界面圖 3-4 游戲開始界面. . . . 16 / 32圖 3-5 游戲結(jié)束界面圖 3-6 游戲玩家排行. . . . 17 / 32圖 3-7 游戲幫助3、游戲玩家可以再游戲中采用點擊“返回鍵”按鈕來選擇“關(guān)卡” 、 “退出”、 “開始”以實現(xiàn)暫停、退出、重新開始功能(如圖 3-3 示) 。4、鍵盤操作操作:系統(tǒng)缺省設(shè)置使用觸

32、摸屏,用手指點擊手機鍵盤左鍵一次左移一格(長按則快速移動到最左邊) ;點擊手機右鍵一次右移一格(長按則快速移動到最右邊) ;點擊手機向上按鍵方塊本身旋轉(zhuǎn);點擊手機向下的按鍵一次向下移一格(長按則快速移動到最下邊) 。5、計分牌顯示的容:“分?jǐn)?shù)” ”為本局游戲所得的分?jǐn)?shù),一次消一行 100 分、2 行 300 分、3 行 600分、4 行 1000 分。 (如圖 3-4 中的得分和消除行)“關(guān)卡”為本局游戲所在的關(guān)卡,所在的關(guān)卡越高,難度越大。“時間”為本局游戲從開始到當(dāng)前所用的時間。. . . . 18 / 32第四章游戲策劃與準(zhǔn)備工作4.1游戲策劃游戲策劃游戲的策劃是指對游戲中主要功能的實現(xiàn)

33、方案進行確定的過程,大型游戲需要縝密的策劃才可以開發(fā)。例如,呈現(xiàn)技術(shù)、目標(biāo)平臺等容。4.2游戲設(shè)計游戲設(shè)計本游戲為經(jīng)典俄羅斯方塊游戲,每一次消除一層加 100 分、2 層 300 分、3層 600 分、4 層 1000 分。游戲中的方塊形狀都是隨機生成的(共 7 種) 。隨著難度的增加方塊下落的默認(rèn)速度會增加,游戲分?jǐn)?shù)沒有上限。布局設(shè)計是一個 22 x 12 的方格組成。不同的方塊兒有不同的顏色,格子顏色是根據(jù)下落模塊兒確定。有顏色是為 1,無顏色是 0。4.3呈現(xiàn)技術(shù)呈現(xiàn)技術(shù)本游戲采用的游戲背景和其他圖片都是用美圖秀秀軟件編輯的。編程采用Android-sdk+java 技術(shù)。運用到了數(shù)據(jù)庫

34、的知識,MVC 模式。4.4目標(biāo)平臺目標(biāo)平臺本游戲的目標(biāo)平臺為 Android1.5。4.5操作方式操作方式游戲的操作方式手機鍵盤操作,游戲菜單的彈出是通過鍵盤來操作的。4.6游戲開發(fā)平臺游戲開發(fā)平臺本次開發(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 針對 Java 開發(fā)員的產(chǎn)品。自從 Java 推出以來,JDK 已經(jīng)成為使用最廣泛的 J

35、ava SDK。JDK 是整個 Java的核心,包括了 Java 運行環(huán)境,Java 工具和 Java 基礎(chǔ)的類庫。JDK 是學(xué)好Java 的第一步。而專門行在 x86 平臺的 Jrocket 在服務(wù)端運行效率也要比 Sun JDK 好很多。從 SUN 的 JDK5.0 開始,提供了泛型等非常實用的功能,其版本也不斷更新,運行效率得到了非常大的提高。Eclipse(軟件開發(fā)者包)是 Eclipse Platform、JDT 和 PDE 所生產(chǎn)的組件合并,它們可以一次下載。這些部分在一起提供了一個具有豐富特性的開發(fā)環(huán)境,允許開發(fā)者有效地建造可以無縫集成到 Eclipse Platform 中的工

36、具。. . . . 19 / 32Eclipse SDK 由 Eclipse 項目生產(chǎn)的工具和來自其它開放源代碼的第三方軟件組合而成。Eclipse 項目生產(chǎn)的軟件以 GPL 發(fā)布,第三方組件有各自自身的許可協(xié)議。Android SDK(Google Android 專屬的軟件開發(fā)工具包) ,它是編寫Android 應(yīng)用程序的基石。78第五章游戲構(gòu)架5.1游戲模塊構(gòu)成圖游戲模塊構(gòu)成圖前臺表示模塊主要用于游戲畫面的渲染。其中包括游戲界面和管理面版兩個模塊,游戲界面主要為游戲中出現(xiàn)的界面,比如:開始界面和游戲中界面。管理面板包括開始、退出、暫停三部分,主要為玩家提供控制游戲行進和退出。(如圖 2)

37、圖 5-1 模塊構(gòu)成圖俄羅斯方塊用戶模塊游戲模塊存儲模塊工具模塊游戲界面界面管理模塊實體生成游戲積分儲存關(guān)卡數(shù)據(jù)儲存用戶積分計算游戲積分計算. . . . 20 / 32圖 5-2 游戲開發(fā)架構(gòu)圖5.2游戲概要設(shè)計圖游戲概要設(shè)計圖 本游戲的設(shè)計采用 MVC 模式(Model -View -Controller) ,即把本游戲的輸入、處理、輸出流程按照 Model、View、Controller 的方式進行分離,這樣本游戲的設(shè)計被分成三個層模型層、視圖層、控制層。MVC 模型圖如下所示:圖 5-3 MVC 模型圖. . . . 21 / 32圖形工廠類圖形類障礙物類中央控制器處理按鍵事件處理邏輯

38、顯示面板顯示生產(chǎn)圖 5-3 系統(tǒng)流程結(jié)構(gòu)設(shè)計5.3各個功能模塊圖設(shè)計各個功能模塊圖設(shè)計圖形工廠圖形障礙物生產(chǎn)圖形下落產(chǎn)生障礙物圖 5-5 模型層(Model)功能模塊圖設(shè)計游戲面板方塊的顯示障礙物的顯示圖 5-6 視圖層(View)功能模塊圖設(shè)計觸發(fā)按鍵事件. . . . 22 / 32中央控制器圖形工廠生產(chǎn)圖形顯示面板顯示圖形和障礙物處理按鍵和鼠標(biāo)事件圖 5-7 控制層(Controller)功能模塊圖設(shè)計游戲?qū)嶓w模塊主要用于后臺游戲邏輯。本游戲中僅有方塊實體模塊一部分。方塊實體模塊主要負(fù)責(zé)對已落下、正在落下和即將落下的方塊圖案的顏色和形狀進行控制,核對正在落下的方塊圖案的行進路線、形狀變換

39、進行控制。通過圖形工廠類 ShapeFactory 的 getShape(ShapeListener listener)方法隨機產(chǎn)生方塊的某種狀態(tài),這里運用了工廠設(shè)計模式,這種設(shè)計模式是為了實現(xiàn)高聚低耦合而存在的,這種設(shè)計模式的通俗解釋就是:你想要一個產(chǎn)品,你需要讓工廠給你生產(chǎn)一個,你要告訴工廠你要生產(chǎn)什么產(chǎn)品,就把你需要生產(chǎn)的這個產(chǎn)品當(dāng)做參數(shù)傳給工廠類的生產(chǎn)產(chǎn)品的方法,然后根據(jù)你傳進來的產(chǎn)品,而決定工廠人生產(chǎn)什么產(chǎn)品,產(chǎn)生出來產(chǎn)品后,最后要返回您要的這個東西。79圖 5-8 下落方塊兒圖的形狀定義一個 4x4 方陣,共 16 個小格。用“0”和“1”來表示每個方格是繪制隨機產(chǎn)生一個數(shù)隨機數(shù)一

40、字型Z 字型反 Z7 字型反 7 字型倒 T行田字型. . . . 23 / 32還是空白,由此可以組合出多種圖形,如圖所示:圖 5-9 圖形模塊是設(shè)計其中圖一表示為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 個方向的方塊,在不同旋轉(zhuǎn)角度顯示不同方向的方塊來完成的。所以程序要控制方塊的旋轉(zhuǎn)方向,

41、只要控制顯示哪副圖就可以了。本游戲是用一個三維數(shù)組 int store = new int;作為存儲方塊的數(shù)據(jù)結(jié)構(gòu)來保存方塊的 28 種狀態(tài)的數(shù)據(jù)存儲模塊包括游戲中關(guān)卡數(shù)據(jù)的存儲和的分?jǐn)?shù)據(jù)的存儲。游戲每一次啟動都將全部刪除上次啟動時所產(chǎn)生的數(shù)據(jù),重新進行新的數(shù)據(jù)存儲。后臺運行時重新進入游戲不算做重啟游戲,故數(shù)據(jù)不會重置。工具類模塊將自身的靜態(tài)成員或者方法提供給游戲中的其他類使用。第六章游戲中各個類中實現(xiàn)的功能由于在本次游戲的開發(fā)中本人對代碼的注釋比較詳盡,故對各個類所實現(xiàn)的功能在代碼中都有較詳細(xì)的注釋。(1)游戲的左、右、下的移動功能和上的變形功能的實現(xiàn);由 TlieView 和 Tetris

42、View 類來實現(xiàn)代碼功能的類:右移功能實現(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;左移功能實現(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;下移功能實現(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 類實現(xiàn)用戶排行榜統(tǒng)計;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ù)組形式存儲的存儲類。public static int store = new int / I 0, 0, 0, 1 , 0, 0, 0, 1 , 0, 0, 0, 1 , 0, 0, 0, 1 DrawTool 是一個圖形繪制類;功能是實現(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 是音樂播放的實現(xiàn)類。第七章結(jié)論面向?qū)ο笤O(shè)計方法以對象為基礎(chǔ),利用特定的軟件工具直接完成從對象客體的描述到軟件結(jié)構(gòu)之間的轉(zhuǎn)換。這是面向?qū)ο笤O(shè)計方法最主要的特點和成就。面向?qū)ο笤O(shè)計方法的應(yīng)用解決了傳統(tǒng)結(jié)構(gòu)化開發(fā)方法中客觀世界描述工具與軟件結(jié)構(gòu)的不一致性問題,縮短了開發(fā)周期,解決了從分析和設(shè)計到軟件模塊結(jié)構(gòu)之間多次轉(zhuǎn)換映射的繁雜過程,是一種很有發(fā)展前途的系統(tǒng)開發(fā)方法。經(jīng)過數(shù)個月的努力,Android 平臺俄羅斯方塊的游戲的設(shè)計和開發(fā)工作的完成。由于對 JAVA 濃厚的興趣引發(fā)了我對 Android 的好奇心,從一開始什么都不懂一直摸索著運用了很多高級技術(shù)完成了這個軟件。 在這個過程中,我學(xué)會了很多知識,比如 Android 環(huán)境的搭建、Intent、Activity、Se

溫馨提示

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

評論

0/150

提交評論