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

正文內(nèi)容

斗破蒼穹——手機(jī)設(shè)計游戲畢業(yè)論文(參考版)

2024-08-31 11:55本頁面
  

【正文】 此次畢業(yè)論文才會順利完成。求學(xué)歷程是艱苦的,但又是快樂的。 斗破蒼穹(手機(jī)游戲設(shè)計) 22 致 謝 在此論文撰寫過程中,要特別感謝我的導(dǎo)師 孫建國 的指導(dǎo)與督促,同時感謝他的諒解與包容。 但是 雖然經(jīng)過了我們大量的調(diào)試和排錯解決了絕大部分的問題,但限于我們精力、技術(shù)、時間和水平實在有限,難免還存在一些 BUG;因此要改進(jìn)的地方比較多。在制作手機(jī)游戲的過程中,我感覺我的編程能力,溝通協(xié)調(diào)能力各方面的能力都有了很 大的提高。整個過程中,從需求分析到設(shè)計、編碼、測試,我都努力讓自己以前學(xué)的知識運用到本游戲的開發(fā)中,盡量保證整個系統(tǒng)的開發(fā)進(jìn)度和質(zhì)量,順利完成這次的畢業(yè)設(shè)計,為自己的大學(xué)生涯畫上一個 相對 完美的句號。 在設(shè)計中雖然遇到了諸多的困難 , 但在小組討論和老師的幫助下 困難一個一個 的 解決掉 了 ,項目也慢慢成型。當(dāng)題目定下來的時候,我們當(dāng)時便立刻著手資料的收集工作中, 從網(wǎng)上下載了十幾款市場上的手機(jī)游戲 ,并提取其中的圖片再加上自己的加工 , 再加上參考別人的手機(jī)游戲設(shè)計思想 ,又 在導(dǎo)師細(xì)心的指導(dǎo)下,終于使我們對 我們的程序有了相當(dāng)?shù)陌盐?。 回想這段日子的經(jīng)歷和感受,我感慨萬千,在這次畢業(yè)設(shè)計的過程中,我們擁有了無數(shù)難忘的回憶和收獲。 進(jìn)入游戲, 左鍵:飛機(jī)左移 ; 右鍵:飛機(jī)右移 ; 上鍵:飛機(jī)上移 ; 下鍵:飛機(jī)下移 ;OK鍵:發(fā)射飛彈;左軟鍵:暫停; 武器商店 : 左右鍵:選擇物品類別 , 上下鍵:選擇物品 ; 左軟鍵:購買物品 。 進(jìn)入開始界面是游戲關(guān)卡選項和武器商店選項;進(jìn)入幫助界面可以查看游戲的幫助信息;進(jìn)入游戲關(guān)于界面可以 查看 游戲的一些信息;進(jìn)入音樂開關(guān)界面可以設(shè)置游戲音樂是否開啟,點 OK 鍵 即開啟游戲音樂,默認(rèn)為關(guān)閉。另一種是下載到手機(jī)上,直接打開運行。 斗破蒼穹(手機(jī)游戲設(shè)計) 20 (5)右擊項目,選擇 J2ME→ Create Package 創(chuàng)建可執(zhí)行的 jar 進(jìn)行游戲的發(fā)布。 系統(tǒng)發(fā)布 (1)安裝 jdk (2)安裝 WTK (3)安裝 添加 插件并且添加 WTK 中的手機(jī)模擬器。 測試數(shù)據(jù) gamestate=1 敵機(jī)子彈攻擊力為 50 玩家飛機(jī)生命初始為 100 測試結(jié)果 (1)gamestate 的狀態(tài)隨著用戶選擇不同的菜單項而依次正確的改變,并且輸出 。 } (g)。 (0)。amp。 (g)。 (keyStates)。 countdown=flag。 (false)。 if(=0){ (false)。 (敵機(jī)子彈碰到玩家 )。j++){ bt1=(Bullet)(j)。 }} (2)敵機(jī)與子彈碰撞檢測的實現(xiàn) for(int j=0。 break。 break。 break。 break。 break。 break。 break。 break。 良好的控制其數(shù)量可以很好的提高程序性能。如果敵機(jī)與玩家飛彈碰撞的話,執(zhí)行敵機(jī)生命減少。當(dāng)敵機(jī)移動到子彈區(qū)域時,即判斷敵機(jī)的橫縱坐標(biāo),如果敵機(jī)移動到了指定的子彈區(qū)就調(diào)用 setActivate()方法傳遞 true 值,激活子彈,否則傳遞 false 值。 敵機(jī)的出現(xiàn)是依據(jù)于線程運行的次數(shù),設(shè)計一個線程執(zhí)行計數(shù)器只在線程正常運行的時候增加,當(dāng)計數(shù)器為某一值時執(zhí)行生成一個敵機(jī)對象,并把它添到敵機(jī)向量中,然后使用隨機(jī)數(shù)調(diào)用敵機(jī)對象的 setEnemyPlanePosition()方法設(shè)置初始位置,并確定敵機(jī)的移動 ,這些在一個關(guān)卡內(nèi)一個 只能運行一次。如果玩家飛機(jī)被敵機(jī)子彈擊中或碰到敵機(jī),就激活玩家飛機(jī)爆炸效果 ,玩家生命相應(yīng)減少 。開火 方法根據(jù)傳遞的子彈類型,和線程運行的次數(shù) 加上飛機(jī)本身的類型 來決定子彈的發(fā)射, 如果玩家飛機(jī)和金幣碰撞后則金幣增加并顯示得到金幣信息。分別偵聽玩家飛機(jī)的移動,開火,得到金幣,發(fā)射飛彈,爆炸。 在飛彈向量中讀取飛彈的相關(guān)信息,然后繪制在屏幕的右下方。 然后繪制生命槽和生命,生命隨玩家飛機(jī)生命減少而減少。在決定繪制哪一關(guān)后,先進(jìn)行一些初始化工作, 為程序后續(xù)運行做準(zhǔn)備。在其中選中的菜單項要區(qū)別于其它選項。 (4)游戲的運行界面是調(diào)用 drawGame()方法進(jìn)行繪制的,首先判斷游戲是運行、暫停還是失敗,如果玩家飛機(jī)的生命在運行中變?yōu)樾∮诨虻扔诹?,那么就判定游戲失敗,?zhí)行一定時間的失敗界面然后返回關(guān)卡選擇界面,在這段時間中做一些失敗處理,且暫停按鍵無效。 在這里背景和商品是直接繪制圖片,金幣余額和類別是用的分塊圖層,類別的選中效果 , 是根據(jù)選中的類別 然后 采用另外一張 除 顯示效果不同 外其他都相同的圖片進(jìn)行覆蓋而達(dá)到的。 繪制商品的圖片也是采用這種思想,將圖片名稱按照類別號 +商品號定義,這樣做將大量減少代碼的抒寫。最終達(dá)到選擇的物品和物品的說明達(dá)到同步顯示的效果。 (3)游戲的武器商店界面包含著背景的繪制,類別顯示的繪制,剩余金幣的繪制,對應(yīng)類的物品繪制,選擇的類別和物品的提示顯示 ,選擇的物品的說明文字的繪制。將每一個關(guān)卡選擇點對應(yīng)一個數(shù)組下標(biāo),并且把關(guān)卡的對應(yīng)說明也對應(yīng)此數(shù)組,在鍵盤事件中通過一個變量來控制關(guān)卡的光標(biāo)顯示,和對應(yīng)關(guān)卡的說明文字的顯示。實現(xiàn)背景的滾動顯示。 (2) 游戲的關(guān)卡選擇界面是當(dāng)游戲狀態(tài)為 GAME_STATE_PLAY_MENU 時調(diào)用drawPlayMenu()方法繪制而成的。在 tick()方法中每一種游戲狀態(tài)有一個速度,其思想是先獲得系統(tǒng)當(dāng)前時間,然后執(zhí)行代碼,之后再獲取當(dāng)前系統(tǒng)時間,利用后者減去前者就得到了代碼執(zhí)行所花費的時間 ,再用游戲速度減去代碼執(zhí)行花 費的時間,就可以達(dá)到一個游戲速度控制的目的。 如果 游戲狀態(tài)為關(guān)卡選擇狀態(tài)( GAME_STATE_PLAY_MENU),就 調(diào)用 drawPlayMenu()方法 繪制關(guān)卡選擇界面, 如果游戲狀態(tài)為 GAME_STATE_SHOP 就調(diào)用 drawShop()方法繪制游戲武器商店。keyPressed()方法用來偵聽按鍵狀態(tài)并做以處理(如改變游戲狀態(tài)等)。 drawShop()方法用來繪制武器商店界面。 drawSound()方法用來繪制音樂設(shè)置界面。 drawAbout()方法用來繪制關(guān)于界面。 drawLogo()方法用來繪制 Logo 界面。 tick()主要根據(jù)“游戲狀態(tài)”來控制游戲的運行速度。 run()方法中執(zhí)行線程要執(zhí)行的代碼。這兩個方法在構(gòu)造方法中被調(diào)用。 MyGameCanvas 類繼承自 GameCanvas 類實現(xiàn)了 Runnable 接口, 它是本程序的核心,在 MyGameCanvas 類中控制著游戲的一切運行,其中 load()方法用來加載游戲所要用到的資源。 Bullet 類 繼承自 Sprite 類 是子彈類, 主要用來繪制子彈,以及設(shè)置子彈移動的軌跡,Bullet 類有兩個構(gòu)造方法,分別對應(yīng)玩家飛機(jī)類和敵機(jī)類。 getEnemyPlaneType()方法用來得到敵機(jī)的類型。setmoneyPosition()方法設(shè)置敵機(jī)爆金幣的初始坐標(biāo),并激活金幣繪制。 并 激 活 敵 機(jī) 爆 炸 。 fire()方法控制敵機(jī)的開火。 其中 setEnemyPlanePosition()方法 設(shè)置敵機(jī)的出現(xiàn)位置,并且選擇移動的軌跡。 setActivate()方法設(shè)置是否激活玩家子彈。 setfeidanPosition()方法用來設(shè)置飛彈初始化工作 。 playPlaneExplod()具體繪制玩家飛機(jī)的爆炸 。 fire()方法控制玩家飛機(jī)的開火 。 PlayPlane 類 繼承自 Sprite 類 是玩家飛機(jī)類, 主要進(jìn)行玩家飛機(jī)的繪制和一些相關(guān)動作。 GameStart 類是程序的入口,系 統(tǒng)開始時首先執(zhí)行 GameStart 類中的構(gòu)造方法, 創(chuàng)建一個 MyGameCanvas 對象,并設(shè)置在當(dāng)前屏幕上顯示, 之后執(zhí)行 startApp()方法開始啟動斗破蒼穹(手機(jī)游戲設(shè)計) 13 游戲的主 線程。選擇手機(jī) 頑童 模擬器,是因為手機(jī) 頑童 模擬器脫離了 eclipse 開發(fā)環(huán)境,模擬起 制 做的手機(jī)游戲更真實。 系統(tǒng)配置方案 (1)Windows XP (2)eclipse 、 Eclipse 是一個開放源代碼的 與 NetBeans、 Sun ONE Studio 和Borland Jbuilder 類似的一種基于 Java 的整合型可擴(kuò)展開發(fā)平臺,也是目前最著名的 開源項目之一, IBM在最近幾年里也一直在大力支持該項目的發(fā)展,目標(biāo)是將其做成用以替代 IBM Visual Age for Java(簡稱 IVJ)的下一代 IDE開發(fā)環(huán)境 。 (4)武器商店模塊:武器商店主要提供玩家購買物品的場所,購買武器花費玩家金幣,可以在各方面提升玩家屬性,以達(dá)到降低玩家游戲難度的目的。 (3)游戲運行模塊:提供一個完整游戲開始后的所需要的所有元素。 功能模塊設(shè)計 系統(tǒng)功能模塊圖 本游戲共分為 以下幾 大模塊 (1)游戲控制模塊 :主要控制游戲的運行狀態(tài) 通過改變游戲的狀態(tài)來達(dá)到控制游戲的效果。 關(guān)于這塊功能的實現(xiàn)我們使用的方式是設(shè)置特定的子彈發(fā)射區(qū),也即是只有飛機(jī)移動到這一塊區(qū)域,才會釋放子彈,當(dāng)這塊區(qū)域足夠小的時候,再加上敵機(jī)出現(xiàn)位置和移動的隨機(jī)性的時候就可以組合出雜亂無斗破蒼穹(手機(jī)游戲設(shè)計) 10 序的敵機(jī)子彈。 (4)關(guān)于敵機(jī)發(fā)射子彈的問題 , 在本系統(tǒng)中敵機(jī)的一切行為都是自動的 , 所以我們要考慮敵機(jī)的子彈問題 , 因為敵機(jī)不可能 象 玩家飛機(jī)子彈一樣有規(guī)律 ,敵機(jī)子彈的發(fā)射講究的是一個無跡可尋。”這里還有要控制如果兩架敵機(jī)隨機(jī)出現(xiàn)的位置一樣且移動方向一樣出現(xiàn)兩架敵機(jī)重合的錯誤。 (3)關(guān)于敵機(jī)出現(xiàn)的位置及其移動的分析,敵機(jī)是本系統(tǒng)中極為重要的一塊,敵機(jī)的出現(xiàn)時機(jī)我們設(shè)計是隨著線程運行到一定次數(shù),開始出現(xiàn)敵機(jī),而后隨機(jī)選擇出現(xiàn)的位置,再根據(jù)出現(xiàn)位置確定移動的軌跡。如果圖片移動的過快,就會出現(xiàn)生命看起來已經(jīng)沒有了,但是玩家飛機(jī)卻還活著。因此我們只需要把任意給出的數(shù)處理一下剝離出這個數(shù)的每一位,那么就可以和要顯示的金幣數(shù)對應(yīng)起來,然后顯示 , 這樣就達(dá)到了金幣余額的顯示效果。 當(dāng)這個數(shù)發(fā)生改變時,圖片顯示的應(yīng)當(dāng)是和這個數(shù)相同的書,不夠六位的前面顯示圖片零。以上所有要繪制的元素中生命條、金幣余額顯示、菜單、飛彈信息、玩家飛機(jī)、玩家飛機(jī)子彈、背景都是隨著開始游戲同時繪制到屏幕上的,敵機(jī) 、 敵機(jī)所爆的金幣、敵機(jī)子彈 、敵機(jī)的爆炸 效果 、玩家飛機(jī)的爆炸 效果 、玩家“吃掉”獎勵的提示信息 等, 都是在游戲運行中 遵循一定的規(guī)則隨時間出現(xiàn)的。在游戲中屏幕左下部位還有菜單的繪制點擊菜單的話,游戲的繪制就暫停,轉(zhuǎn)為菜單的繪制,再寫對應(yīng)的菜單項的操作。生命是由兩張圖片顯示的,兩張圖一張生命槽,一張生命,它們和玩家飛機(jī)生命以一定 關(guān)系聯(lián)系起來。本系統(tǒng)中金幣有兩種概念,一種是金幣的數(shù)量計數(shù),也即是持久的可被玩家看見的,提供給玩家金幣余額的信息。玩家飛機(jī)在關(guān)卡內(nèi)不會改變,只有當(dāng)玩家購買了不同飛機(jī),才會顯示不同的飛機(jī)。 玩家飛機(jī)在屏幕上出現(xiàn)一個,且初始坐 標(biāo)確定為屏幕下方中間。分別斜向左下,再 返回 ;和反向。第一
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1