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

正文內(nèi)容

基于android的推箱子游戲設(shè)計(jì)畢業(yè)論文(編輯修改稿)

2025-04-03 08:33 本頁面
 

【文章內(nèi)容簡介】 游戲過程中,最為主要 的 地方在于對地圖矩陣,以及小人狀態(tài)信息(包括位置、行走狀態(tài)等)的維護(hù),小人每行走一步,就更新一次地圖信息和小人狀態(tài)信息。另外一個(gè)比較重要的地方是游戲狀態(tài)的保存方 面 [12]。為保存小人信息,特別開設(shè)了一個(gè) MySprite 類,該類主要作用就是保存玩家每一步的游戲狀態(tài),便于撤銷。 邏輯判斷過程中,需要對地圖進(jìn)行維護(hù),主要是通過小人的移動(dòng)位置進(jìn)行更新的。 ? 小人每次移動(dòng)時(shí),四周的物體如下圖 : 圖 32 主角四周物體 ? 當(dāng) 小人 是在移動(dòng)箱子時(shí),箱子四周有以下幾種物體 : 圖 33 箱子四周物體 小人 地面 移動(dòng)到合適位置的箱子 未在合適位置的箱子子 墻壁 箱子應(yīng)擺放到的位置 箱子 箱子應(yīng)該擺放到的位置 箱 子、墻壁 地面 已擺放到合適位置的箱子 未擺放到合適位置的箱 子 12 第四章 游戲的實(shí)現(xiàn) 歡迎界面的實(shí)現(xiàn) 當(dāng)玩家運(yùn)行游戲時(shí),首先看到歡迎界面,歡迎界面是整個(gè)游戲的門面。本游戲的歡迎動(dòng)畫首先是木門打開如圖 41,接著是鐵門打開如圖 42,最后是墻打開如圖 43,所有門打開后就會(huì)顯示一個(gè)有山有水的圖片如圖 44。歡迎動(dòng)畫界面是通過改變動(dòng)畫線程中圖片的變量值來改變圖片的位置。 圖 41 木門 圖 42 鐵門 圖 43 墻 圖 44 山水圖 13 菜單界面的實(shí)現(xiàn) 玩家在歡迎動(dòng)畫界面需等待 30 秒方能進(jìn)入菜單界面,也可直接點(diǎn)擊屏幕進(jìn)入菜單界面。菜單界面是由滾動(dòng)的背景圖片、不動(dòng)的背景圖片,和開始游戲、聲音開、聲音關(guān)、游戲說明、退出游戲圖片組成,如圖 45 所示。 圖 45 菜單界面 開始游戲 當(dāng)玩家點(diǎn)擊開始游戲圖片即可進(jìn)入游戲界面開始游戲,如圖 46 所示 。 圖 46 開始游戲 14 聲音控制 玩家進(jìn)入菜單界面時(shí)背景聲音是開即顯示的是聲音開圖片, 菜單界面的背景音樂會(huì)滾動(dòng)播放, 如果玩家想要關(guān)閉聲音,只需點(diǎn)擊聲音開圖片就會(huì)關(guān)閉聲音同時(shí)顯示聲音關(guān)圖片,如圖 47 所示。聲音狀態(tài)圖片是根據(jù) PushBoxActivity 中的聲音狀態(tài)值進(jìn)行繪制。 圖 47 聲音控制 游戲說明 當(dāng)玩家點(diǎn)擊游戲說明按鈕時(shí)玩家會(huì)進(jìn)入游戲說明界面,如圖 48 所示,游戲說明界面是由一張說明圖片組成,背景設(shè)置為白色,玩家如果想要離開此界面只需點(diǎn)擊屏幕即可回 到菜單界面。 圖 48 游戲說明 15 退出游戲 當(dāng)玩家點(diǎn)擊退出圖片時(shí),會(huì)直接離開游戲到模擬器的主界面,如圖 49 所示。 圖 49 退出游戲 游戲界面的實(shí)現(xiàn) 游戲界面實(shí)現(xiàn)包括地圖類的實(shí)現(xiàn),角色類的實(shí)現(xiàn),鍵盤監(jiān)聽線程的實(shí)現(xiàn),角色移動(dòng)線程的實(shí)現(xiàn)。 當(dāng)玩家將箱子都推到指定的位置后本關(guān)游戲勝利,出現(xiàn)恭喜過關(guān)的圖片,點(diǎn)擊圖片進(jìn)入下一關(guān)卡,如圖 410 所示。 圖 410 勝利進(jìn)行下一關(guān) 16 地圖類的實(shí) 現(xiàn) 該類中包含了兩個(gè)三維數(shù)組, 一個(gè)三維數(shù)組表示第一層地圖即地板層,另一個(gè)三維數(shù)組表示第二層地圖即建筑層。三維數(shù)組中存儲(chǔ)著每個(gè)關(guān)卡的地圖, 三維矩陣便于管理,如果要加入新關(guān)卡,只需要在三維矩陣中加入一個(gè)二維矩陣就可以了。 本游戲設(shè)計(jì)了兩個(gè)關(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} } }。 17 public static int map2[ ][ ][ ] = {//第二層地圖 { {1,1,1,2, 2, 2, 2, 2,1,1,1,1,1,1}, {1,1,1,2, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2}, {2, 2, 2, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2}, {2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2}, {2, 0, 0, 0, 1, 0, 2, 0, 0, 2, 0, 0, 0, 2}, {2, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 0, 0, 2}, {2, 0, 2, 2, 0, 0, 0, 0, 0, 2, 0, 1, 0, 2}, {2, 0, 0, 0, 1, 2, 2, 0, 0, 0, 1, 0, 0, 2}, {2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 2, 2, 0, 2}, {2, 0, 0, 0, 2, 2, 2, 2, 0, 0, 0, 0, 0, 2}, {2, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 2}, {2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2}, {2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2,1,1,1}, {2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,1,1,1} }, { {1,1,1,2, 2, 2, 2, 2,1,1,1,1,1,1}, {1,1,1,2, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2}, {2, 2, 2, 2, 0, 2, 0, 1, 0, 0, 0, 0, 0, 2}, {2, 0, 0, 0, 1, 0, 0, 0, 0, 2, 2, 2, 0, 2}, {2, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 2, 0, 2}, {2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 1, 2}, {2, 0, 2, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2}, {2, 0, 0, 0, 1, 2, 2, 2, 0, 0, 0, 0, 0, 2}, {2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 2}, {2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2}, {2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2}, {2, 0, 1, 0, 0, 1, 2, 0, 0, 0, 2, 2, 2, 2}, {2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,1,1,1}, {2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,1,1,1} } }。 角色類的實(shí)現(xiàn) 角色類對小人進(jìn)行了封裝,記錄小人當(dāng)前的位置、圖片和坐標(biāo)以及狀態(tài)。將小人向上走路、向下走路、向左走路、向右走路、向上推箱子、向下推箱子、向左推箱子、向右推箱子的圖片 ID 放到數(shù)組中進(jìn)行管理在構(gòu)造器中根據(jù)小人當(dāng)前的位置換算出當(dāng)前實(shí)際坐標(biāo),設(shè)置自己封裝的繪制方法,根據(jù)小人的狀態(tài)進(jìn)行繪制,若小人正在移動(dòng),直接繪制圖片,若小人靜止時(shí),需要進(jìn)行坐標(biāo)修正然后再 18 繪制圖片 [13]。主要代碼是: public void drawMySelf(Canvas canvas, Paint paint){//繪制方法 if(){ (man, X, Y, paint)。 } else{ X = +36*j15*i + 2。 Y = +10*j+25*i 25。 (man, X, Y, paint)。 } } 鍵盤監(jiān)聽線程的實(shí)現(xiàn) 鍵盤監(jiān)聽線程會(huì)定時(shí)檢測鍵盤的狀態(tài),然后根據(jù)狀態(tài)調(diào)用相應(yīng)的處理。每次循環(huán)需要休眠時(shí)間為 150 毫秒,當(dāng)需要鍵盤監(jiān)聽時(shí),判斷是推箱子還是走路,然后得到當(dāng)前鍵盤狀態(tài)碼賦到 action 中, 再 對 action 進(jìn)行處理判斷上、下、左、右鍵是否被按下。當(dāng)上鍵被按下時(shí),需要先判斷是否到界面的最上方,若到最上方將不會(huì)再往上,若沒到最上方時(shí),會(huì)檢測上方是否有箱子,當(dāng)箱子上方為空地時(shí)才可以移動(dòng)箱子,再判 斷是否為目的地,如果是目的地需要把箱子設(shè)為綠色,如果不是目的地直接移動(dòng)即可 [14]。在箱子移動(dòng)時(shí)需要啟動(dòng)箱子的移動(dòng)線程,進(jìn)行箱子的移動(dòng),同時(shí)在移動(dòng)過程中將鍵盤的監(jiān)聽標(biāo)志位設(shè)為 false,此時(shí)失去屏幕監(jiān)聽。下鍵、左鍵、右鍵同理。 角色移動(dòng)線程的實(shí)現(xiàn) 角色移動(dòng)線程給定初始位置和結(jié)束位置的行列,自動(dòng)計(jì)算成實(shí)際坐標(biāo),然后分兩步移動(dòng),當(dāng)距邊界較近時(shí)自動(dòng)滾屏。當(dāng)向上移動(dòng)時(shí)需要先判斷是否可以向上走,如果可以移動(dòng)小人,需要循環(huán)移動(dòng)實(shí)際坐標(biāo),之后將是否移動(dòng)標(biāo)志位設(shè)置為false,表示已經(jīng)移動(dòng)完成 [15]。向下移動(dòng)、向左移動(dòng)、向右移動(dòng)同理。 19 第五章 軟件測試 軟件測試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程。軟件測試是軟件開發(fā)過程的重要組成部分,是用來確認(rèn)一個(gè)程序的品質(zhì)或性能是否符合開發(fā)之前所提出的一些要求。軟件測試就是在軟件投入運(yùn)行前,對軟件需求分析、設(shè)計(jì)規(guī)格說明和編碼的最終復(fù)審,是軟件質(zhì)量保證的關(guān)鍵步驟。在開發(fā)軟件系統(tǒng)的過程中,需要面對錯(cuò)綜復(fù)雜的問題,因此,在軟件生存周期的每個(gè)階段都不
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1