freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于android的推箱子游戲設(shè)計畢業(yè)論文-在線瀏覽

2025-05-01 08:33本頁面
  

【正文】 最大的誘惑。 伴隨著 Google Android 操作系統(tǒng) 的盛行,國內(nèi)外的開發(fā)團(tuán)隊也逐漸的壯大起來了,基于 Android SDK 的系統(tǒng)開發(fā),基于 Android 應(yīng)用的開發(fā)等已逐漸倍受大家關(guān)注,而手機游戲開發(fā)歷來是移動開發(fā)中分量最重的部分,面對如此火爆的Android 市場自然也不甘示弱,由于 Android 的應(yīng)用層開發(fā)是基于 Java 的開發(fā),所以必有其可以快速移植 J2ME 開發(fā)的游戲的優(yōu)勢,但是移植的游戲必定也不能發(fā)揮 Android 操作系統(tǒng)獨特的特性。 本文研究主要內(nèi)容 本游戲分三個模塊 設(shè)計與 實現(xiàn):歡迎動畫界面的設(shè)計與實現(xiàn),菜單界面的設(shè)計與實現(xiàn),游戲界面的設(shè)計與實現(xiàn)。 游戲的過程中需要在適當(dāng)?shù)?地方 添加上音效,并且可以對音效進(jìn)行開與關(guān)的設(shè)置。 游戲需要設(shè)計適當(dāng)?shù)碾y度,使玩家能夠經(jīng)過努力完成游戲。 第二章 介紹 Android 平臺的搭建。 第四章介紹游戲?qū)崿F(xiàn)的功能。 第六章對本次畢業(yè)設(shè)計的總結(jié)。 工具介紹 Android 簡介 Android 是基于 Linux 內(nèi)核 的操作系統(tǒng), Android 系統(tǒng)具有開放性、應(yīng)用程序無界限、應(yīng)用程序是在平等的條件創(chuàng)建的、應(yīng)用程序可以輕松地嵌入網(wǎng)絡(luò)和應(yīng)用程序可以并行運行等特點。 Android 應(yīng)用程序 是 由四個模塊構(gòu)造 : Activity, Intent, Content Provider,Service[5]。但任何一個應(yīng)用程序模塊都必須在 文件中聲明使用到的這些模塊。我們稱之為 “ 活動 ” 。所有應(yīng)用的 Activity 都繼承于 類,該類是 Android 提供的基層類,其他的 Activity 繼承該父類后,通過父類的方法來實現(xiàn)各種功能,這種設(shè)計在其他領(lǐng)域也較為常見。 Intent類用于描述應(yīng)用的功能。典型的動作類型有: MAIN、 VIEW、 PICK、 EDIT 等,而動作對應(yīng)的數(shù)據(jù)則以 URI 的形式表示 [6]。在 Android 中,默認(rèn)使用 SQLite 作為系統(tǒng)數(shù)據(jù)庫。在 Android 中,每一個應(yīng)用都運行在各自的進(jìn)程中,當(dāng)一個應(yīng)用需要訪問其他應(yīng)用的數(shù)據(jù)時,也就是數(shù)據(jù)需 要在不同的虛擬機之間傳遞,這樣的情況操作起來可能有些困難(正常情況下,你不能讀取其他應(yīng)用的 db 文件 ), ContentProvider 正是用來解決在不同的應(yīng)用包之間共享數(shù)據(jù)的工具 [7]。如一個正在從播放列表中播放歌曲的媒體播放器,在這個媒體播放器應(yīng)用中,應(yīng)該會有多個 activity,讓使用者可以選擇歌曲并播放 4 歌曲。在這個例子中,媒體播放器這個 activity 會使用 ( )來啟動一個 service,從而可以在后臺保持音樂的播放。另外,我們還可以通過使用 ( )方法連接到一個 service 上(如果這個service 當(dāng)前還沒有處于啟動狀態(tài),則將啟動它)。以媒體播放器為例,我們還可以執(zhí)行暫停、重播等操作 [8]。它以其強安全性、平臺無關(guān)性、硬件結(jié)構(gòu)無關(guān)性、語言簡潔、面向?qū)ο蟮奶攸c,在網(wǎng)絡(luò)編程語言中占據(jù)了無可比擬的優(yōu)勢,成為實現(xiàn)電子商務(wù)系統(tǒng)的首選語言 [9]。 Java 程序相對較小,其代碼能夠在小機器,例如手機上運行,這應(yīng)該是大家經(jīng)???以看到的。對象中封裝了它的狀態(tài)變量和相應(yīng)的方法,實現(xiàn)了模塊化和信息的隱藏 ; 而類則是提供了對象的原型,并且通過繼承的機制,子類可以使用父類所提供的方法,以實現(xiàn)代碼的復(fù)用。大部分病毒程序常用的方法就是通過巧妙地運用地址變量如指針來獲取計算機的資源,而 Java 正好放棄了難學(xué)和危險的指針功能,從而使 Java 更安全。多線程就是為實現(xiàn)這個目標(biāo)而設(shè)計出來的,它使用 Java 編寫出來的應(yīng)用程序可以同時執(zhí)行多個任務(wù)。 5 ? 自動內(nèi)存管理 可以說自動內(nèi)存管理是 Java 健壯性的體現(xiàn),內(nèi)存管理是很多種應(yīng)用程序內(nèi)的關(guān)鍵因素。在數(shù)據(jù)寫入數(shù)據(jù)庫后,在下一批處理之前,臨時存儲數(shù)據(jù)的集合必須清空舊數(shù)據(jù),或者被刪 除后再建。 Java 的自動內(nèi)存管理正好解決這一點,它使程序員不用再為內(nèi)存管理寫大量的代碼 [10]。 圖 21 JDK 配置 1 6 確定后就會返回環(huán)境變量界面,再新建一個系統(tǒng)變量名為 classpath,變量值為 %JAVA_HOME%/lib/。 圖 22 JDK 配置 2 確定后仍會返回環(huán)境變量界面,然后再找到 Path 的變量,雙擊 或者 點擊編輯,在變量名最前面加上 %JAVA_HOME%/bin,確定即可,如圖 23 所示。 SDK 配置 新建一個系統(tǒng)變量 Android,并將 SDK 文件夾中的 platformtools 和 tools 的地址填入變量值中,以分號來隔開,確定即可,如圖 24 所示。%Android%,如圖 25 所示。 Eclipse 配置 首先需要添加 Eclipse 插件 ADT,在打開 Eclipse 后,點擊菜單欄的Help—Install New Software...然后點擊 Add 會出來一個 Add Site 的窗口,這里Name 輸入 ADT, Location 中輸入 ADT 在電腦中的地址 , 然后就等待連接了,連接上將 Developer Tools 全 都選中 accept, finish 就可以了,完成后會提示重啟Eclipse 來加載插件,重啟,就可以用了。 圖 26 Eclipse 配置 應(yīng)用環(huán)境 基于 Android 的推箱子游戲適用于 及以上版本 。如果玩家將箱子推入死角導(dǎo)致箱子無法移動或不能移動到指定位置則闖關(guān)失敗,可以通過退出操作進(jìn)入菜單界面來重新挑戰(zhàn)游戲。 游戲情節(jié)需求:本游戲為輕量級的益智游戲,因此不存在很復(fù)雜的情節(jié)。 鍵盤處理事件:控制小人與箱子的移動,通過鍵盤方向鍵(上、下、左、右鍵)對小人進(jìn)行上、下、左、右的移動,并且能夠推動箱子。 游戲設(shè)計 系統(tǒng)設(shè)計思想 本次設(shè)計主要是設(shè)計一個能夠在 Android 手機上運行的推箱子游戲。 游戲總體設(shè)計 圖 31 游戲總體設(shè)計 游戲界面 歡迎動畫界面 菜單界面 游戲開始界面 開始游戲 聲音控制 游戲說明 退出游戲 退出 10 系統(tǒng)功能模塊設(shè)計 本程序包括 5 個模塊,分別是初始化模塊、畫圖模塊、移動箱子模塊、移動小人模塊和音樂模塊,各個模塊的功能描述如下 : ? 初始化模塊。屏幕初始化用于顯示歡迎動畫,游戲第一關(guān)的初始化是構(gòu)建每一關(guān)的關(guān)卡。該模塊主要是被其他模塊調(diào)用,用于畫墻、在空地畫箱子、在目的地畫箱子、畫小人和畫目的地。該模塊用于移動箱子,包括目的地之間、空地之間和目的地與空地之間的箱子移動。該模塊用于控制小人的移動,從而推動箱子到達(dá)目的地。該模塊為游戲提供背景音樂、小人推箱子的聲音和游戲勝利的聲音。游戲中用一個 MapList 類操作地圖,其中有兩個三維數(shù)組記錄游戲地圖信息,一個三維數(shù)組表示第一層地圖即地板層,另一個三維數(shù)組表示第二層地圖即建筑層 , 三維矩陣便于管理,如果要加入新關(guān)卡,只需要在三維矩陣中加入二維矩陣就可以了 [11]。另外一個比較重要的地方是游戲狀態(tài)的保存方 面 [12]。 邏輯判斷過程中,需要對地圖進(jìn)行維護(hù),主要是通過小人的移動位置進(jìn)行更新的。本游戲的歡迎動畫首先是木門打開如圖 41,接著是鐵門打開如圖 42,最后是墻打開如圖 43,所有門打開后就會顯示一個有山有水的圖片如圖 44。 圖 41 木門 圖 42 鐵門 圖 43 墻 圖 44 山水圖 13 菜單界面的實現(xiàn) 玩家在歡迎動畫界面需等待 30 秒方能進(jìn)入菜單界面,也可直接點擊屏幕進(jìn)入菜單界面。 圖 45 菜單界面 開始游戲 當(dāng)玩家點擊開始游戲圖片即可進(jìn)入游戲界面開始游戲,如圖 46 所示 。聲音狀態(tài)圖片是根據(jù) PushBoxActivity 中的聲音狀態(tài)值進(jìn)行繪制。 圖 48 游戲說明 15 退出游戲 當(dāng)玩家點擊退出圖片時,會直接離開游戲到模擬器的主界面,如圖 49 所示。 當(dāng)玩家將箱子都推到指定的位置后本關(guān)游戲勝利,出現(xiàn)恭喜過關(guān)的圖片,點擊圖片進(jìn)入下一關(guān)卡,如圖 410 所示。三維數(shù)組中存儲著每個關(guān)卡的地圖, 三維矩陣便于管理,如果要加入新關(guān)卡,只需要在三維矩陣中加入一個二維矩陣就可以了。主要代碼是: public static int map1[ ][ ][ ] = {//第一層地圖,即地板層 { {1,1,1,1, 0, 1, 0, 1,1,1,1,1,1,1}, {1,1,1,0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0}, {0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 3, 0, 1}, {1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0}, {0, 1, 0, 1, 0, 3, 0, 1, 0, 1, 0, 1, 0, 1}, {1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0}, {0, 1, 0, 1, 0, 1, 0, 3, 0, 1, 0, 1, 0, 1}, {1, 0, 3, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0}, {0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1}, {1, 0, 3, 0, 1, 0, 1, 0, 1, 0, 1, 2, 1, 0}, {0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1}, {1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0}, {0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,1,1,1}, {1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,1,1,1} }, { {1,1,1,1, 0, 1, 0, 1,1,1,1,1,1,1}, {1,1,1,0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0}, {0, 1, 0, 1, 0, 1, 0, 1, 0, 3, 0, 1, 0, 1}, {1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0}, {0, 1, 2, 3, 0, 1, 0, 1, 2, 1, 0, 1, 0, 1}, {1, 0, 1, 2, 1, 0, 1, 0, 3, 0, 1, 0, 1, 0}, {0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1}, {1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0}, {0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1}, {1, 0, 3, 0, 1, 0, 1, 0, 1, 0, 1, 2, 3, 0}, {0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1}, {1, 0, 1, 0, 1, 0, 1, 2, 1, 0, 1, 0, 1, 0}, {0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,1,1,1}, {1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,1,1,1} } }。 角色類的實現(xiàn) 角色類對小人進(jìn)行了封裝,記錄小人當(dāng)前的位置、圖片和坐標(biāo)以及狀態(tài)。主要代碼是: public void drawMySelf(Canvas canvas, Paint paint){//繪制方法 if(){ (man, X, Y, paint)。 Y = +10*j+25*i 25。 } } 鍵盤監(jiān)聽線程的實現(xiàn) 鍵盤監(jiān)聽線程會定時檢測鍵盤的狀態(tài),然后根據(jù)狀態(tài)調(diào)用相應(yīng)的處理。當(dāng)上鍵被按下時,需要先判斷是否到界面的最上方,若到最上方將不會再往上,若沒到最上方時,會檢測上方是否有箱子,當(dāng)箱子上方為空地時才可以移動箱子,再判 斷是否為目的地,如果是目的地需要把箱子設(shè)為綠色,如果不是目的地直接移動即可 [14]。下鍵、左鍵、右鍵同理。當(dāng)向上移動時需要先判斷是否可以向上走,如果可以移動小人,需要循環(huán)移動實際坐標(biāo),之后將是否移動標(biāo)志位設(shè)置為false,表示已經(jīng)移動完成 [15]。 19 第五章 軟件測試 軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。軟件測試就是在軟件投入運行前,對軟件需求分析、設(shè)計規(guī)格說明和編碼的最終復(fù)審,是軟件質(zhì)量保證的關(guān)鍵步驟。 本系統(tǒng)的
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1