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

正文內(nèi)容

基于j2me手機(jī)坦克大戰(zhàn)游戲設(shè)計(jì)與開發(fā)畢業(yè)論文-文庫(kù)吧在線文庫(kù)

  

【正文】 加吸引玩家,這也需要參考大量的同類型游戲。記錄分?jǐn)?shù)的存儲(chǔ)方式也需要有較好的解決方案。敵方子彈僅需要掃描用戶坦克,而用戶坦克需要在每一步掃描所有的敵方坦克 。一個(gè)實(shí)時(shí)運(yùn)行的最終作品,每秒都會(huì)運(yùn)行成千上萬行程序,繪圖事件、鍵盤事件都會(huì)以極高的頻率在后臺(tái)等待響應(yīng),若有絲毫的差別都將很容易導(dǎo)致程序在運(yùn)行不久后可能出現(xiàn)嚴(yán)重錯(cuò)誤,甚至死循環(huán)。 其次,子彈之間需要檢測(cè)是否碰撞。本程序中并未使用過多復(fù)雜的人工智能算法,如有時(shí)間,將可能再此方面加以完善。 在本程序的編寫中使用到了三種碰撞檢測(cè),第一種是敵方坦克與 用戶 坦克的碰撞檢測(cè),第二種是敵方坦克與地圖的碰撞檢測(cè),第三種是敵方坦克和子彈的碰撞檢測(cè) 。程序?yàn)樾枰瓿瑟?dú)立功能的需顯示的模塊設(shè)置了單獨(dú)的類。運(yùn)行程序后允許用戶選擇執(zhí)行選項(xiàng)菜單,在 開始游戲后將先從外部文件載入地圖文件,對(duì)背景的所有物體進(jìn)行繪圖。 ( 3) 概要設(shè)計(jì):策劃具體的游戲方案。 (4)打包并編寫描述文件:使用 對(duì)通過預(yù)校驗(yàn)的 *.class 文件進(jìn)行打包,打包后將獲得 MIDP 認(rèn)可的可執(zhí)行 jar 文件。 (2)混淆(可選):利用混淆工具,將方法名、類名改成沒有實(shí)際意義的特定的字符及代號(hào),增加閱讀的難度。 CLDC 由兩部分組成 : 為應(yīng)用程序提供的最小 Java 語(yǔ)言類庫(kù)和適合在資源受限設(shè)備上運(yùn)行的 Java虛擬機(jī) (KVM)。為移動(dòng)互聯(lián)引入了一種新的模式,允許移動(dòng)智能設(shè)備可以從互聯(lián)網(wǎng)上下載各種應(yīng)用程序,并在本地設(shè)備上創(chuàng)建各自的環(huán)境來運(yùn)行這些應(yīng)用程序。 本章小結(jié) 本章是對(duì)坦克大戰(zhàn)手機(jī)游戲的設(shè)計(jì)現(xiàn)做的一份調(diào)查和計(jì)劃表,這樣對(duì)程序制作有了更加深入的了解,在此基礎(chǔ)上使程序的制作流程更加緊密和流暢。重點(diǎn)介紹了連接受限設(shè)備配置 (CLDC)和移動(dòng)信息設(shè)備簡(jiǎn)表規(guī)范 (MIDP), 最后介紹的是 J2ME 應(yīng)用程序的開發(fā)流程。主機(jī)所采用得處理器為 CMOS 6502,一款已經(jīng)淘汰的 70 年代中期產(chǎn)品。 截止目前,我國(guó)手機(jī)的使用量已突破 10 億。日韓還涌現(xiàn)了眾多實(shí)力強(qiáng)勁的手機(jī)游戲內(nèi)容提供商,如日本 CYBIRD 和韓國(guó) Com2Us,而傳統(tǒng)的游戲廠商如世嘉和索尼在一開始就加入了手機(jī)游戲內(nèi)容提供商的行列。而缺了技術(shù),則設(shè)計(jì)就無法實(shí)現(xiàn)。在中國(guó)最大的軟件開發(fā)人員網(wǎng)站 CSDN 的最近一份調(diào)查顯示,有 %的受訪者涉足嵌入式 /移動(dòng)設(shè)備應(yīng)用開發(fā),這個(gè)數(shù)字可能略高于實(shí)際的比例,但也足可說明嵌入式 /移動(dòng)設(shè)備應(yīng)用開發(fā)是一塊誘人的新鮮奶酪。 作者 簽名: 日 期: 學(xué)位論文原創(chuàng)性聲明 本人鄭重聲明:所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的研究成果。 本次游戲設(shè)計(jì)對(duì) J2ME 手機(jī)游戲的開發(fā)有了深入的了解,同時(shí) J2ME 開發(fā)軟件定位在消費(fèi)性電子產(chǎn)品的應(yīng)用上,對(duì)設(shè)備的只能化、多樣化,提供了革命性的解決方案, 并因其 “Write Once, run anywhere”的 Java 特性而提高開發(fā)的效率。本程序的界面和運(yùn)作方式繼承于日本任天堂公司在 20 世紀(jì) 80 年代開發(fā)的 Battle City 游戲,將老少皆宜的經(jīng)典作品移植到手機(jī)上來,為更流行的硬件平臺(tái)提供應(yīng)用軟件。盡我所知,除文中特別加以標(biāo)注和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過的研究成果,也不包含我為獲得 及其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過的材料。本人授權(quán) 大學(xué)可以將本學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫(kù)進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。 游戲的設(shè)計(jì)開發(fā)是一項(xiàng)綜合性的工程,一個(gè)游戲的設(shè)計(jì)開發(fā)需要多學(xué)科團(tuán)隊(duì)的參與,其基本的要素有三 :設(shè)計(jì) (Idea)、技術(shù) (Technology)和過程 (Process)。 2 手機(jī)游戲產(chǎn)業(yè)發(fā)展現(xiàn)狀與趨勢(shì) 國(guó)際手機(jī)游戲產(chǎn)業(yè)發(fā)展現(xiàn)狀 全球手機(jī)游戲業(yè)務(wù)發(fā)展可分為兩個(gè)階段,以跨世紀(jì)為分界,之前移動(dòng)游戲處于起 步階段,之后步入了大發(fā)展階段。 雖然目前手機(jī)游戲用戶數(shù)占移動(dòng)用戶的比例還不是很大,但隨著手機(jī)游戲產(chǎn)業(yè)發(fā)展環(huán)境的日益成熟,其發(fā)展速度將一日千里。 3 游戲背景介紹和論文來源與創(chuàng)新點(diǎn) FC(Family Computer)主機(jī)在歐美又稱 Nintendo Entertainment System(可譯作任天堂娛樂平臺(tái)即 NES)。 對(duì)手機(jī)游戲開發(fā)中的幾項(xiàng)關(guān)鍵技術(shù)進(jìn)行應(yīng)用研究,在目前手機(jī)游戲應(yīng)用最廣泛、通用性最好的 J2ME 開發(fā)平臺(tái)上設(shè)計(jì)實(shí)現(xiàn)了: ⑴ 手機(jī)游戲通用框架 ⑵ 游戲滾屏 圖 1 80 年代中期的 FC 機(jī)器 圖 2 Battle City 的界面 4 論文組織結(jié)構(gòu) 論文具體的章節(jié)安排如下 : 第一章緒論論述了本文的研究背景和意義,探討了手機(jī)游戲業(yè)務(wù)的國(guó)內(nèi)外發(fā)展現(xiàn)狀。 第五章是對(duì)程序進(jìn)行分析和全面解讀,從 進(jìn)入程序的畫面開始,一步步分析程序的流程走向,已經(jīng)過程中涉及到的每個(gè)類,分析每個(gè)類的作用,比如說敵方英雄類和坦克類等等。自從 J2ME 發(fā)布以來,已經(jīng)有 600 多家公司加入這方面的開發(fā),包括 NOKIA、 MOTOROLA、 PALM 和 RIM 等知名大公司 [6]。根據(jù)需要提供的功能不同,目前主要有兩類虛擬機(jī):專門為資源十分受限的小型嵌入式設(shè)備設(shè)計(jì)的 KVM(Kilo Virtual Machine,KVM)和為性能相對(duì)較強(qiáng)的嵌入式設(shè)備設(shè)計(jì)的 CVM(Compact Virtual Machine,CVM)。 可選包 (Optional Package): 用于擴(kuò)展 J2ME 的功能,由于是針對(duì)特殊技術(shù)的實(shí)現(xiàn),所以不適合做為一項(xiàng)特性定義到 MIDP 中,而采用了可選包的形式來提供。因?yàn)?class 在傳輸過程中容易損壞或是被篡改,傳統(tǒng)的 Java 程序在運(yùn)行前,都在本地機(jī)器上對(duì) .class 進(jìn)行 Byte Code 的校驗(yàn)。 本章小結(jié) 本章首先給出了本次畢業(yè)設(shè)計(jì)所用到的系統(tǒng)編程軟件和環(huán)境,接著對(duì) J2ME有了一個(gè)簡(jiǎn)單的描述,其次是對(duì) J2ME 平臺(tái)的體系結(jié)構(gòu)進(jìn)行了比較系統(tǒng)的研究,最后著重論述了 J2ME 移動(dòng)應(yīng)用程序的開發(fā)流程及部署方法。 每個(gè) MIDlet 都必須繼承 , 這個(gè) MIDlet 抽象類。用戶再次發(fā)射 子彈時(shí)只是將終止的線程再次激活。它決定了游戲何時(shí)該結(jié)束,何時(shí)分配敵人數(shù)量,游戲結(jié)束字樣的閃現(xiàn)規(guī)則,地圖的繪制及整個(gè)游戲的調(diào)度。另外,坦克的發(fā)炮間隔和轉(zhuǎn)后的具體方向都由隨機(jī)數(shù)決定。子彈使用的是象素級(jí)的碰撞檢測(cè),因?yàn)樽?彈的圖片形狀不規(guī)則,如果使用矩形碰撞檢測(cè),將有可能在子彈尚未接觸到物體時(shí)就已返回碰撞的真值。對(duì)磚墻將有能力將其擊毀,使之在畫面上消失;對(duì)水泥鋼筋將不能發(fā)生作用,子彈也不能通過;對(duì)于草叢,子彈和坦克都可以通過。本次設(shè)計(jì)由于是一個(gè)人獨(dú)立開發(fā),不可能具有全面的才華,因此需要從自身以外的地方獲取資料。每一次刷新頁(yè)面、每前進(jìn)一步都需要將所有的周圍環(huán)境都進(jìn)行掃描。由于設(shè)備的限制,實(shí)現(xiàn) FC 版所有功能將會(huì)產(chǎn)生比較龐 大的數(shù)據(jù),因此簡(jiǎn)化部分功能也是需要詳細(xì)考慮。它的基本用法與其他 Displayable 對(duì)象一致。針對(duì)不同的需要,Graphics 類中提供了用于描繪線條、繪制和填充矩形或圓角矩形、繪制和填充圓弧以及文本和圖像的方法。 雙緩沖技術(shù) 在沒有 前,進(jìn)行游戲繪圖一般需要手動(dòng)編程使用雙緩沖。由于開發(fā) 手機(jī)游戲時(shí)我們主要用到的是 Key 事件的處理方法,因?yàn)橐苿?dòng)設(shè)備的鍵盤是傳遞用戶意圖的最主要的輸入設(shè)備, Key 事件屬于低層事件。它是用來處理手機(jī)操作鍵盤上的按鍵被釋放的事件,這個(gè)方法也同樣沒有與之對(duì)應(yīng)的顯示的聽眾,這些聽眾也是由系統(tǒng)根據(jù)實(shí)際對(duì)象 提供的。所有這些可以借助混淆器來幫助實(shí)現(xiàn)。目前流行的如 decode, JAD 等反編譯工具可以以很快的速度生成源文件。目前流行的 Obfuscator 有 RetroGuard 等 [15]。)、結(jié)束的函數(shù)。 在本程序開始的界面中,先由下而上先顯示出本程序的片頭圖片: BattleCity,在圖片顯示動(dòng)畫結(jié)束之后會(huì)顯示出供玩家選擇的三個(gè)選項(xiàng)按鈕,它們分別為:PLAY、 DIFFICALTY、 CONSTRUCTION 代表著開始游戲、難度選擇和游戲說明。刷新速度需大于 30 毫秒才能使畫面顯示因人眼的暫時(shí)停留效應(yīng)流暢運(yùn)行。 構(gòu)造函數(shù)中,需初始化地。其主邏輯如圖 12 所示。在難度選擇界面玩家可以自由選擇普通模式和困難模式,普通模式屏幕上最多出現(xiàn)的敵方坦克數(shù)為 5,而困難模式屏幕上能出現(xiàn)的最大坦克數(shù)為 7。游戲的啟動(dòng)選項(xiàng)畫面在 TankCanvas 類中,在控制主程序運(yùn)行的 MIDlet 中, startApp()函數(shù)隨即調(diào)用了 Displayable 的 setCurrent()函數(shù)將當(dāng)前屏幕設(shè)置為 TankCanvas。 20 第五章 程序分析和具體實(shí)現(xiàn) 游戲總體 控制類 此次設(shè)計(jì)的坦克大戰(zhàn)總共 20 關(guān),每關(guān)會(huì)有不同的地圖,同時(shí) 要考慮其中的地圖元素。 由此引入混淆器的概念。 第三是減少圖形數(shù)據(jù)的大小。 } else { … } } 當(dāng)釋放手機(jī)操作鍵盤上被按下的按鍵時(shí),則會(huì)觸發(fā)這個(gè) key 事件,系統(tǒng)并會(huì)自動(dòng)交由 keyReleased( )方法來處理該事件,同樣的上面的這段代碼中,該方法判斷了所按的按鍵值是否大于 0,如果大于 0 則輸出所釋放的手機(jī)鍵盤上的被按下的按鍵的實(shí)際鍵值,否則執(zhí)行其他的操作任務(wù)。 在鍵盤響應(yīng)中又分為監(jiān)聽按鍵處理和放開按鍵處理,本章接下面將以更詳細(xì)的內(nèi)容來介紹這兩個(gè)部分。 Image 類提供了一個(gè)建立背景的靜態(tài)方法 createImage(int width, int height),再利用 getGraphics()方法取得屬于這個(gè)背景的 Graphics 對(duì)象,所進(jìn)行的繪圖操作都會(huì)作用在背景上,等到全部的繪圖操作完成后,再調(diào)用 drawImage()方法將背景的數(shù)據(jù)復(fù)制到實(shí)際顯示的屏幕上。其對(duì)象會(huì)被傳給 Canvas 的 paint()函數(shù),以便最終顯示。從程序開發(fā)的觀點(diǎn)看, Canvas 類可與高級(jí) Screen 類交互,程序可在需要時(shí)在 Canvas 中摻入高級(jí)類的組件。 、結(jié)束、以及游戲中信息的布局作為一個(gè)游戲的重要部分。如何采用合理的記分標(biāo)準(zhǔn),需要進(jìn)行適當(dāng)?shù)脑O(shè)計(jì)。 ,子彈也需要處在獨(dú)立的 程序 中。 子彈 不發(fā)生碰撞 碰撞后發(fā)生爆炸,同時(shí)石磚消失 碰撞后發(fā)生爆炸,子彈消失 碰撞后發(fā)生爆炸,同時(shí)子彈消失 草叢與森林 石磚 石頭 坦克 背景 圖 8 坦克的邏 輯設(shè)計(jì) 14 第四章 坦克大戰(zhàn)的相關(guān)技術(shù) 應(yīng)用 程序需解決的技術(shù)問題 ,因?yàn)槠浯a利用率很高。如果來自玩家,則每一步需掃描所有的敵方坦克,檢查是否發(fā)生碰撞,這可能會(huì)花費(fèi)不少的 CPU 時(shí)間。這是允許的,但需要對(duì)他們標(biāo)注狀態(tài),即當(dāng)坦克剛出現(xiàn)時(shí)暫時(shí)允許重合,一旦在某個(gè)時(shí)間他們脫離了重合狀態(tài),就不能在允許重 合,如果不設(shè)置這樣的判斷,剛出現(xiàn)的坦克將會(huì)因?yàn)槭艿阶枞?12 永遠(yuǎn)不能前進(jìn),坦克將混成一團(tuán)。敵方按照規(guī)則不能和用戶坦克重合,則它每行走一步就需要把用戶坦克掃描一次,判斷其是否碰撞到了用戶的坦克。以便程序進(jìn)入相關(guān)的分支執(zhí)行相關(guān)的反應(yīng)代碼,結(jié)束游戲或統(tǒng)計(jì)分?jǐn)?shù)等。這三種狀態(tài)的轉(zhuǎn)換關(guān)系如圖所示 [11] 消減狀態(tài) (Destroyed) 停止?fàn)顟B(tài) (Paused) 運(yùn)行狀態(tài) (Active) StartApp () DestroyApp () DestroyApp () PauseApp() 圖 5 MIDlet 的流程 10 下面就是主程序 邏輯 圖 Y Y N N N 開始 創(chuàng)建程序主體框架,定義游戲的變量與實(shí)例 定義游戲的變量與實(shí)例 顯示游戲選項(xiàng)菜單 選擇 PLAY 難度選擇 游戲說明 選擇 exit 選擇游戲難度 顯示說明信息 按下確定鍵 讀取場(chǎng)景,設(shè)置玩家初始位置 移動(dòng)玩家坦克 玩家坦克發(fā)射子彈 邏輯操作 敵方坦克隨即移動(dòng)并隨即發(fā)射子彈 隨即產(chǎn)生新的坦克 炸彈自動(dòng)飛行,爆炸后自動(dòng)播放 對(duì)各種對(duì)象間的碰撞進(jìn)行檢測(cè) 根據(jù)檢測(cè)結(jié)構(gòu)對(duì)各個(gè)對(duì)象進(jìn)行處理 對(duì)摧毀坦克數(shù)量與游戲結(jié)束的標(biāo)志進(jìn) 行設(shè)置 顯示游戲畫面 玩家失敗 玩家勝利 進(jìn)入下一關(guān)游戲 返回主界面 結(jié)束游戲,退出 按下開火鍵 按下方向鍵 顯示下一關(guān)菜單 圖 6 坦克大戰(zhàn)主程序流程圖 11 本程序采用面向?qū)ο蟮脑O(shè)計(jì)模式,對(duì)游戲中的所有物體賦予對(duì)象的概念和屬性。 ( 2) 方案分析:市場(chǎng)商業(yè)評(píng)估與開發(fā)難度評(píng)估。因此,先在 PC 機(jī)上使用 進(jìn)行一部份預(yù)先校驗(yàn)工作,這樣,需要在手機(jī)上進(jìn)行的校驗(yàn)工作就大量減少了 [10]。 圖 3
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1