【正文】
e s t C o d e : i n t , i n r e s u l t C o d e : i n t , i n d a t a )+ g a m e V i e w : G a m e V i e w+ k e y T h r e a d : K e y T h r e a d m a n : M a n m y H a n d l e rM a i n A c t i v i t y* *+ o n C r e a t e ( i n s a v e d I n s t a n c e S t a t e )+ o n P r o g r e s s C h a n g e d ( i n s e e k B a r , i n p r o g r e s s : i n t , i n f r o m T o u c h : B o o l e a n ) m y B a c k L i s t e n e r m y S t a r t L i s t e n e r a u d i o m a n a g eS e e k B a r A c t i v i t y11I n t e n t 圖 46 游戲音量控制模塊類結(jié)構(gòu)圖 常熟理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 21 游戲規(guī)則模塊類結(jié)構(gòu)圖 游戲規(guī)則模塊中主要提供游戲規(guī)則查看的類是 GameRuleActivity,與它相關(guān)聯(lián)的類是MainActivity 類, MainActivity 主要是控制整個(gè)頁面跳轉(zhuǎn)和消息處理的公共類。其中與它相關(guān)的類有 GameView 類,調(diào)節(jié)好音量大小后可以直接通過 MainActivity 跳轉(zhuǎn)到游戲界面。 推箱子游戲初始化模塊畫圖模塊移動(dòng)箱子模塊移動(dòng)小人模塊鍵盤監(jiān)聽事件模塊常熟理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 19 系統(tǒng)算法設(shè)計(jì) 本系統(tǒng)核心部分是游戲的控制過程,游戲畫面事件監(jiān)聽與游戲畫面的繪制過程。 4)移動(dòng)角色模塊 該模塊用于控制小人移動(dòng),從而推動(dòng)箱子到目的地的模塊。 該模塊主要是被其它模塊調(diào)用,用于畫墻、畫箱子、在 目的地畫箱子、畫小人和畫目的地的模塊。屏幕初始化用于繪制整個(gè)初始畫面,游戲每一關(guān)的初始化是構(gòu)建每一關(guān)的關(guān)卡。 圖 43 游戲過程模塊子模塊圖 對(duì)游戲過程模塊的子模塊描述如下: 1)初始化模塊。 游戲過程控制模塊 此模塊主要是控制游戲過程界面的繪制、鍵盤事件的監(jiān)聽、對(duì)監(jiān)聽事件的響應(yīng)處理等,是整個(gè)游戲的核心功能模塊。 4. 玩家最高游戲記錄查詢模塊 此模塊主要提供用戶查看最高游戲記錄,由于本游戲支持多用戶,所以會(huì)把每個(gè)用戶的最高游戲記錄都呈現(xiàn)出來。 2.游戲規(guī)則查看模塊 此模塊主要給用戶提供玩法指南的模塊。 本系統(tǒng)主要分為七個(gè)基本模塊:游戲過程模塊、游戲音量設(shè)置模塊、游戲規(guī)則模塊、游戲關(guān)卡設(shè)置模塊、音效選擇模塊、玩家最高記錄查詢,保存記錄退出模塊,系 統(tǒng)各模塊功能圖如圖 42 所示。如下所示: 用戶信息表:該表 記錄了用戶的基本信息 ,包括用戶編號(hào)、用戶名、成績(jī) 2.表結(jié)構(gòu) 根據(jù)上面的邏輯結(jié)構(gòu)設(shè)計(jì),設(shè)計(jì)相應(yīng)的表結(jié)構(gòu)如下 表 41所示。 圖 41系統(tǒng)實(shí)體及其屬性 邏輯結(jié)構(gòu)設(shè)計(jì) 根據(jù)以上的分析,將 ER 模型轉(zhuǎn)換成邏輯模型,設(shè)計(jì)出本系統(tǒng)數(shù)據(jù)庫。 如上圖 32:用例 選擇游戲背景音樂 用例描述: 選擇游戲背景音樂 執(zhí)行者: 玩家 前置條件: 進(jìn)入菜單界面 后置條件: 返回菜單界面或開始游戲 基本路徑: 1)運(yùn)行應(yīng)用程序 2)進(jìn)入菜單界面 3)點(diǎn)擊手機(jī)硬鍵盤的 menu 按鈕,調(diào) 用 menu 菜單 4)點(diǎn)擊音效選擇的選項(xiàng),進(jìn)入游戲背景音樂設(shè)置的界面,游戲背景音樂設(shè)置分為關(guān)閉音效及四種背景音效的選擇 常熟理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 14 推箱子游戲的 游戲 過程子系統(tǒng) 用例分析 推箱子游戲 的游戲過程 子系統(tǒng) 用例主要分為 開始游戲和退出游戲 。玩家可以根據(jù)自己的能力水平選擇自己適合的關(guān)卡。 推箱子游戲主用例圖 如圖 31所示 : 圖 31 系 主 統(tǒng) 用例圖 推箱子游戲的主 用例描述 如上 圖 31: 用例 1 菜單管理 用例描述: 菜單管理 執(zhí)行者: 玩家 前置條件: android 手機(jī)用戶、安裝有推箱子應(yīng)用程序 后置條件: 可以進(jìn)行相關(guān)游戲選項(xiàng)的設(shè)置 基本路徑: 1)運(yùn)行應(yīng)用程序 2)進(jìn)入菜單界面 3)進(jìn)行相關(guān)游戲選項(xiàng)的設(shè)置或選擇開始游戲 玩家1 . 菜單管理2 . 玩游戲常熟理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 11 如上圖 31: 用例 2 玩游戲 用例描述:玩游戲 執(zhí)行者:玩家 前置條件:開始游戲 后置條件:退出游戲或游戲成功 基本路徑 1)運(yùn)行應(yīng)用程序 2)進(jìn)入菜單并選擇游戲開始 3)通過手機(jī)硬鍵盤控制小人移動(dòng)從而將箱子移動(dòng)到指定位置 推箱子游戲的菜單管理子系統(tǒng)用例分析 玩家通過菜單管理子系統(tǒng)主要可以進(jìn)行音量大小的設(shè)置,可以查看游戲的幫助文檔,可以進(jìn)行游戲關(guān)卡的選擇,可以查看玩家的最高游戲記錄并且還可以選擇游戲背景音樂。 當(dāng)小人將箱子推到指定位置時(shí)箱子變色,當(dāng)小人碰到障礙物墻壁時(shí)小人將無法移動(dòng),當(dāng)所有的箱子都被推到指定的位置時(shí), 游戲成功,因此 這就要求玩家巧妙的運(yùn)用有限的空間和通道,合理的安排箱子的位置和移動(dòng)次序才可能完成任務(wù)。 常熟理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 10 綜上所述,基于 Android的推箱子系統(tǒng)在高校中是可行的。 因此,從經(jīng)濟(jì)上來說,開發(fā)推箱子游戲不需要很大的投入,硬件上只需普通的 PC電腦一臺(tái),附加配置好模擬器的運(yùn)行環(huán)境即可,有條件的話可以再配備 一臺(tái),用于真機(jī)測(cè)試。 2) 經(jīng)濟(jì)可行性 隨著計(jì)算機(jī)游戲的發(fā)展,很多編程愛好者基于該游戲的思想開發(fā)了出各種版本、各種類型的推箱子。 可行性分析 本系統(tǒng)的可行性分析包括以下幾個(gè)方面的內(nèi)容: 1) 技術(shù)可行性 SQLite 數(shù)據(jù)庫與 Android 技術(shù)的有機(jī)結(jié)合,可以很輕松地開發(fā)出推箱子游戲。 4)游戲背景音樂設(shè)置,主要實(shí)現(xiàn)讓該游戲提供若干種背景音樂以供用戶的選擇。 2)玩家定制功能,通過提供游戲難度選擇,使玩家根據(jù)自己的情況選擇不同的關(guān)卡進(jìn)行游戲。這就要求玩家巧妙的運(yùn)用有限的空間和通道,合理的安排箱子的位置和移動(dòng)次序才可能完成任務(wù)。 圖 25 選項(xiàng) 常熟理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 9 3 系統(tǒng) 需求 分析 系統(tǒng)基本功能描述 推箱子是一款來自日本的古老游戲,其設(shè)計(jì)目的是訓(xùn)練人的邏輯思維能力。根據(jù)你的要求自行選擇所需安裝包,安裝即可。 2)運(yùn)行 Android SDK 下載安裝器 SDK 常熟理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 7 圖 22 SDK 下載器 3) 配置和下載 SDK, 選擇 Available Packages 然后選擇你要安裝的 sdK 包,最后按 Install Selected 按鈕進(jìn)行安裝。 SQLite 數(shù)據(jù)庫功能非常強(qiáng)大,使用起來也非常方便。 中的 文件存儲(chǔ)及輕量級(jí)數(shù)據(jù)庫 SQLite 的存儲(chǔ)技術(shù) Android 的數(shù)據(jù)存儲(chǔ)有 4種方式,分別是 Shared Preferences 存儲(chǔ)技術(shù)以“ keyvalue paire”格式的數(shù)據(jù)存儲(chǔ)機(jī)制 Files 存儲(chǔ)技術(shù)通過 FileInputStrean 和 FileOutputStream操作, Network 技術(shù)通過網(wǎng)絡(luò)來存儲(chǔ)和獲取數(shù)據(jù)。 操作方式,本游戲擬采用手機(jī)鍵盤進(jìn)行操作,對(duì)于沒有鍵盤的型號(hào)也可以考慮采用虛擬鍵盤。 采用的呈現(xiàn)技術(shù),推箱子游戲一般采用的都是 2D的呈現(xiàn)技術(shù),本案例為了增強(qiáng)游戲的吸引力, 采用 呈現(xiàn)技術(shù)??紤]到受眾面廣的原因,應(yīng)該將操作方式設(shè)計(jì)得更加人性化,畫面 更加清新。這方面主要要做的工作主要為設(shè)計(jì)游戲各關(guān)倉庫的形狀、大小、可通過區(qū)域,以及各關(guān)中箱子的初始位置與目的地。下面就針對(duì)本游戲?qū)ι鲜鰩讉€(gè)方面進(jìn)行簡(jiǎn)單的介紹,如下所列。比如顯示 Cursor 中所有數(shù)據(jù)的ListActivity,其視圖層就是一個(gè) ListView,將數(shù)據(jù)封裝為 ListAdapter,并傳遞給ListView,數(shù)據(jù)就在 ListView 中現(xiàn)實(shí)。 在 Android SDK 中的數(shù)據(jù)綁定,也都是采用了與 MVC 框架類似的方法來顯示數(shù)據(jù)。 Android 的界面直接采用 XML 文件保存的,界面開發(fā)變的很方便。在 VS 2021開發(fā)工具中設(shè)計(jì)人員就可以直接通過 Silverlight 來開發(fā)界面,在 Eclipes 工具中開發(fā)Android 采用了更加簡(jiǎn)單的方法,設(shè)計(jì)人員在 DroidDraw 中設(shè)計(jì)界面,以 XML 方式保存,在 Eclipes 中直接打開就可以看到設(shè)計(jì)人員設(shè)計(jì)的界面。從開發(fā)者的角度, MVC 把應(yīng)用程序的邏輯層與界面是完全分開的,最大的好處是:界面設(shè)計(jì)人員可以直接參與到界面開發(fā),程序員就可以把精力放在邏輯層上。 從用戶的角度出發(fā),用戶可以根據(jù)自己的需求,選擇自己合適的瀏覽數(shù)據(jù)的方式。 常熟理工學(xué)院畢業(yè)設(shè)計(jì)(論文) 4 2 Android 推箱子系統(tǒng)的相關(guān)研究 Android 遵循 MVC 開發(fā)模式,所謂 MVC 也就是 ModelViewController 的首字母縮寫,MVC 開發(fā)模式把應(yīng)用程序開發(fā)分成三個(gè)部分, Model 即模型 用于管理數(shù)據(jù), View 即視圖用來制作用戶界面,而 Controller 即控制器管理應(yīng)用程序的邏輯。 SQLite 數(shù)據(jù)庫功能非常強(qiáng)大,使用起來也非常方便。 數(shù)據(jù)存儲(chǔ)采用文件存儲(chǔ)及輕量級(jí)數(shù)據(jù)庫 SQLite 的存儲(chǔ)技術(shù) Android 的數(shù)據(jù)存儲(chǔ)有 4種方式,分別是 Shared Preferences 存儲(chǔ)技術(shù)以“ keyvalue paires ” 格 式 的 數(shù) 據(jù) 存 儲(chǔ) 機(jī) 制 , Files 存 儲(chǔ) 技 術(shù) 通 過 FileInputStrean 和FileOutputStream 操作, Network 技術(shù)通過網(wǎng)絡(luò)來存儲(chǔ)和獲取數(shù)據(jù)。但就其應(yīng)用而講,好的 圖形即有 3D 的自由度與質(zhì)感,又能利用 2D圖形將漫畫式人物塑造得惟妙惟肖,使其擁有純 3D還無法做到的優(yōu)勢(shì)。即模擬了 3D 的空間感,也兼具 2D的靈動(dòng)簡(jiǎn)單,是一種 “ 優(yōu)勢(shì) ” 的綜合體。其中 Android 游戲開發(fā)還需要通過 Graphics 類來顯示 2D 圖形, Graphics 中包括了Canvas(畫布 )、 Paint(畫筆 )、 Color(顏色 )、 Bitmap(圖像 )、 2D 幾何圖形等常用類,并且還涉及一些 OpenGL 圖形程序接口方面的技術(shù)。 面對(duì)如此潛在的游戲市場(chǎng),為 Android手機(jī)游戲用戶量身定做一款兼具 Android平臺(tái)特色的手機(jī)游戲也實(shí)為意義深遠(yuǎn)。因此,絕大多數(shù)種類的游戲都具備傳染性與普適性,每一個(gè)售出的游戲都像一個(gè)火種,將會(huì)點(diǎn)燃周圍潛在玩家的激情,激情的火焰迅速蔓延,最終吞噬整個(gè)需求 市場(chǎng),當(dāng)然前提是開發(fā)的游戲是高質(zhì)量的。 圖 11 調(diào)查結(jié)果 Android平臺(tái)上的游戲相比應(yīng)用軟件,不需要進(jìn)行嚴(yán)格的市場(chǎng)細(xì)分,不需要針對(duì)目標(biāo)用戶量身定制。 07 年之后,手機(jī)游戲市場(chǎng)增速開始減緩,傳統(tǒng)手機(jī)游戲逐漸顯現(xiàn)頹勢(shì),市場(chǎng)增長(zhǎng)主要由基于智能手機(jī)平臺(tái)的游戲所帶動(dòng)。 伴隨著 Google Android 操作系統(tǒng)的盛行,國內(nèi)外的開發(fā)團(tuán)隊(duì)也逐漸的壯大起來了,基于 Android SDK 的系統(tǒng)開發(fā),基于 Android 應(yīng)用的開發(fā)等已逐漸倍受大家關(guān)注,而手機(jī)游戲開發(fā)歷來是移動(dòng)開發(fā)中分量最重的部分,面對(duì)如此火爆的 Android 市場(chǎng)自然也不甘示弱 ,由于 Android 的 應(yīng)用層開發(fā)是基于 Java 的開發(fā),所以必有其可以快速移植 J2ME 開發(fā)的游戲的優(yōu)勢(shì),但是移植的游戲必定也不能發(fā)揮 Android 操作系統(tǒng)獨(dú)特的特性,所以目前基于 Android 游戲開發(fā)的市場(chǎng)還是不夠成熟的 ,用戶對(duì)游戲的需求量卻在不斷擴(kuò)大中。青年網(wǎng)絡(luò)推出的 星網(wǎng)睿話 就 是國內(nèi)成功的Android 開發(fā)產(chǎn)品。青年網(wǎng)絡(luò)的主要負(fù)責(zé)人潘長(zhǎng)華先生說到: Android 作為一款十分優(yōu)秀的移動(dòng)開發(fā)平臺(tái)十分適合國內(nèi)的開發(fā)環(huán)境。由于 Android 帶有相當(dāng)濃郁的 Linux 血統(tǒng)這也就意味著他擁有開源 Linux 的眾多優(yōu)點(diǎn):安全、運(yùn)算速度快、易于開發(fā)等等。 說到 Android 系統(tǒng), Google 于 2021 年 11 月 5 日宣布的基于 Linux 平臺(tái)的開源手機(jī)操作系統(tǒng)的名稱,該平臺(tái)由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,號(hào)稱是首個(gè)為移動(dòng)終端打造的真正開放和完整的移動(dòng)軟件。s acplishments, Game background music Settings is mainly realized the user can choose your favorite music function。 本系統(tǒng)采用 MVC 開發(fā)模式,使用 SQLite 數(shù)據(jù)庫存儲(chǔ)技術(shù),基于 Android 開發(fā)平臺(tái),使用 Eclipse+Android +DDMS+Droi