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

正文內(nèi)容

基于j2me的益智游戲設(shè)計(jì)畢業(yè)論文(設(shè)計(jì))(編輯修改稿)

2025-08-15 19:39 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 了詳細(xì)說(shuō)明。系統(tǒng)測(cè)試 介紹了測(cè)試計(jì)劃并從功能方面進(jìn)行 測(cè)試。 最后 對(duì) 本游戲 的應(yīng)用展望 未來(lái)。 本章首先簡(jiǎn)單地介紹手機(jī)移動(dòng)游戲的開(kāi)發(fā)背景、手機(jī)游戲的市場(chǎng)狀況、用戶數(shù)量、社會(huì)對(duì)游戲的反映。進(jìn)而發(fā)現(xiàn) 了當(dāng)前一些游戲的弊端,因此提出了綠色健康的益智游戲這個(gè)論題。最后,敘述了本游戲的開(kāi)發(fā)意義和論文的組織安排。 3 2 相關(guān)技術(shù)與工具介紹 J2ME 簡(jiǎn)介 J2ME 在 Java 體系中的地位 JAVA 是一門(mén)優(yōu)秀的編程語(yǔ)言,具有面向?qū)ο?、與平臺(tái)無(wú)關(guān)、安全、穩(wěn)定、和多線程等特點(diǎn),是目前軟件設(shè)計(jì)中最為流行的編程語(yǔ)言之一。 目前主要包括 Java平臺(tái)標(biāo)準(zhǔn)版 (Java platform Standard Edition, Java SE)、 Java 平臺(tái)企業(yè)版 (Java platform Enterprise Edition, Java EE)、 Java 平臺(tái)微型版 (Java platform Micro Edition. Java ME)和 Java 卡平臺(tái) (Java Card)。 Java SE 的目標(biāo)是個(gè)人計(jì)算機(jī)和服務(wù)器的應(yīng)用; Java EE 的目標(biāo)是企業(yè)計(jì)算機(jī)和服務(wù)器的應(yīng)用; Java ME 的目標(biāo)是便攜式計(jì)算機(jī)和嵌入式設(shè)備的應(yīng)用 [4][5] 。 如圖 21所示: 圖 21 四種 Java 平臺(tái) Java ME 實(shí)際上是一系列規(guī)范的集合,由 Java Community Process(Java 社區(qū)組織, JCP)制 定并發(fā)布相關(guān)的 Java 規(guī)范請(qǐng)求 (Java Specification Request, JSR),各個(gè)廠商按照規(guī)范在自己的產(chǎn)品上進(jìn)行實(shí)現(xiàn),但是必須要通過(guò) TCK(Technical Compatible Kit,兼容性測(cè)試包 )測(cè)試來(lái)確保兼容性 。 J2ME 技術(shù)框架 由于移動(dòng)設(shè)備這個(gè)概念涵蓋了廣泛的領(lǐng)域,包括智能手機(jī)、普通手機(jī)、掌上電腦、傳呼機(jī)等,他們都具有各個(gè)不同的硬件配置,而這些硬件特性如內(nèi)存大小、浮點(diǎn)運(yùn)算能力等都嚴(yán)重限制了手機(jī)應(yīng)用程序的可移植性。為了方便 應(yīng)用 程序的開(kāi) J2SE J2EE J2ME Java Card 基于 J2ME 的益智游戲設(shè)計(jì) 4 發(fā),迫切需 要定義一個(gè)規(guī)范來(lái)統(tǒng)一 這些嵌入式設(shè)備。但是,這個(gè)規(guī)范同樣需要靈活性和較高的適應(yīng)性,這樣才能使規(guī)范更有意義。 因此, J2ME 定義了一種靈活的層次規(guī)范結(jié)構(gòu)來(lái)規(guī)范各種移動(dòng)設(shè)備,不同層次的規(guī)范相互協(xié)作來(lái)提供一個(gè)完整的移動(dòng) Java 平臺(tái)。 J2ME 定義的移動(dòng)平臺(tái)分為四層:主機(jī)操作系統(tǒng)、配置、簡(jiǎn)表和廠商可選包,如圖 22 所示。因?yàn)?Java 應(yīng)用程序是獨(dú)立于操作系統(tǒng)的,因此, Java ME 規(guī)范僅 包括三層:配置、簡(jiǎn)表和廠商可選包。 圖 22 Java 應(yīng)用運(yùn)行環(huán)境 配置 是針對(duì)某一類設(shè)備的最小 Java 平臺(tái),它包括滿足該類設(shè)備的虛擬機(jī), 運(yùn)行的最小子集和針對(duì)該類設(shè)備的核心庫(kù)的最小子集。目前 J2ME 可用的配置有兩種: CDC(Connected Device Configuration,連接設(shè)備配置 )和 CLDC( Connected Limited Device Configuration, 連接有限設(shè)備配置)。從庫(kù)文件的角度來(lái)分析 CDC和 CLDC 可知, CLDC 是 CDC 的子集。 CDC 應(yīng)用于相對(duì)內(nèi)存量較大、更強(qiáng)處理器的移動(dòng)設(shè)備而 CLDC 則主要針對(duì)那些資源有限的嵌入式設(shè)備(如手機(jī))都屬于這一大類。 簡(jiǎn)表是架構(gòu)在配置之上的規(guī)范,因此每種簡(jiǎn)表都會(huì)聲明它是 基于哪種配置。簡(jiǎn)表針對(duì)不同的移動(dòng)設(shè)備定義了各種高級(jí) API,這些高級(jí) API 通常對(duì)于其它硬件設(shè)備不相關(guān)的擴(kuò)充類庫(kù)。 SUN 公司定義了兩種可用的參考 J2ME 簡(jiǎn)表:基礎(chǔ)簡(jiǎn)表和 MIDP?;A(chǔ)簡(jiǎn)表主要用于 CDC 配置,因此其虛擬機(jī)幾乎等同于標(biāo)準(zhǔn)的虛擬機(jī)。MIDP 和性能較低的 CLDC 配置一起為開(kāi)發(fā)移動(dòng)設(shè)備應(yīng)用程序提供了完整的 Java平臺(tái)。本文設(shè)計(jì)和開(kāi)發(fā)的益智類游戲就是使用的 MIDP。 廠商可選包是由廠商提供給程序開(kāi)發(fā)人員一組與其它規(guī)范(或 API)沒(méi)有任何依存性的類庫(kù),開(kāi)發(fā)人員可以利用這一類庫(kù)可以開(kāi)發(fā)出具有特定的功能應(yīng)用程序。 例如,有些產(chǎn)商會(huì)提供簡(jiǎn)單的數(shù)據(jù)庫(kù)管理系統(tǒng),那么他們就會(huì)提供 JDBC( Java Database Connectivity, Java 數(shù)據(jù)庫(kù)連接) 。 廠商可選包 簡(jiǎn)表 配置 JVM 主機(jī)操作系統(tǒng) 5 綜上, J2ME 的體系結(jié)構(gòu)如圖 23所示: 圖 23 J2ME 體系結(jié)構(gòu) MIDLET 應(yīng)用程序簡(jiǎn)介 MIDlet 是在支持 MIDP 規(guī)范的移動(dòng)信息設(shè)備上運(yùn)行的應(yīng)用程序。 MIDlet 的生命周期包括三個(gè)基本狀態(tài):暫停狀態(tài)( Paused)、激活狀態(tài)( Active)和銷毀狀態(tài)( Destroyed)。這三種狀態(tài)間 的轉(zhuǎn)換是應(yīng)用程序管理器通過(guò)調(diào)用 MIDlet 的三個(gè)回調(diào)方法 startApp()、 pauseApp()和 destroyApp()來(lái)實(shí)現(xiàn)的。如圖 24所示: 圖 24 MIDlet 生命周期轉(zhuǎn)換圖 當(dāng) MIDlet 被執(zhí)行時(shí),應(yīng)用程序管理器首先調(diào)用 MIDlet 的構(gòu)造函數(shù)創(chuàng)建一個(gè)MIDlet 實(shí)例,并將該 MIDlet 的狀態(tài)置為暫停。然后應(yīng)用程序管理器將它轉(zhuǎn)換到激活狀態(tài)并調(diào)用 startApp()方法。當(dāng) MIDlet 的 startApp()方法成功執(zhí)行以后, MIDlet的生命周期就展開(kāi)了。 MIDlet 的生命周期完全由應(yīng)用程序 管理器調(diào)用對(duì)應(yīng)的回調(diào)函數(shù) (即 MIDlet 類定義的三個(gè)抽象方法 )實(shí)現(xiàn)。 當(dāng) MIDlet 想對(duì)自身生命周期產(chǎn)生影響,就必須通過(guò)三個(gè)狀態(tài)改變方法:notifyPaused()、 notifyDestoryed 和 resumeRequest()。這 三個(gè)方法分別通知應(yīng)用程序管理器轉(zhuǎn)換到暫停狀態(tài)、銷毀狀態(tài)或者激活狀態(tài)。但是,這種狀態(tài)的改變不一CLDC MIDP KVM Host Operation Systems Personal Profile Foundation Profile CDC CVM Card VM Java Card API 基于 J2ME 的益智游戲設(shè)計(jì) 6 定成功。 Emini Physics Engine 簡(jiǎn)介 Emini Physics Engine 的基本概念 物理引擎通過(guò)為剛性物體賦予真實(shí)的物理屬性的方式來(lái) 實(shí)現(xiàn) 運(yùn) 動(dòng)、旋轉(zhuǎn)和碰撞反 應(yīng)的 模擬 。 通過(guò)物理引擎,程序員可以在游戲中實(shí)現(xiàn)對(duì)現(xiàn)實(shí)世界的一些物理效果的模擬。比如:重力下降、摩擦力、彈性碰撞、非彈性碰撞、快速物體的碰撞等物理現(xiàn)象的模擬。 為了實(shí)現(xiàn)一些物理效果,本人使用了 Emini Physics Engine Version 。Emini Physics Engine 是一個(gè)二維物理引擎庫(kù),使用這個(gè)引擎可以創(chuàng)建逼真的物理模擬。它可以完成碰撞的檢測(cè)和處理,可以創(chuàng)建自定義的形狀,處理摩擦力、重力等現(xiàn)實(shí)世界中的常見(jiàn)外力。 Emini物理引擎的常見(jiàn)概念如下: (1) Body: 剛體,物理模擬中的基本元素,物理模擬中的所有相互作用的對(duì)象都是以 Body 的形式存在。它的靜態(tài)屬性有形狀、重量、摩擦系數(shù)、彈性系數(shù)等和狀態(tài)屬性:位置、速度等。 (2) Shape: 形狀,每一個(gè)剛體都有一個(gè)形狀。形狀定義了剛體的邊界和物理屬性,一個(gè)形狀可以用于多個(gè)剛體且形狀可以為凸多邊形或者圓形。 (3) World:世界,包括物理系統(tǒng)中所有的剛體、形狀、外力和模擬物理系統(tǒng)的參數(shù)。 (4) External Forces:外力。所有不是來(lái)自物理模擬系統(tǒng)的且作用于系統(tǒng)內(nèi)部剛體的力都屬于外力。例如:重 力??梢酝ㄟ^(guò)實(shí)現(xiàn) External Forces 接口,方便的加入外力。 (5) Contact: 接觸。剛體和剛體之間真實(shí)的接觸被抽象為兩種情況,第一種是一個(gè)剛體的一角和另一個(gè)剛體相交,抽象為點(diǎn)在平面上;第二種情況是兩個(gè)剛體的平面重合,抽象為兩個(gè)點(diǎn)在重合的平面上。 (6) Collisions:碰撞。物理引擎首先檢測(cè)所有剛體的碰撞。根據(jù)牛頓力學(xué)原理處理碰撞后的反應(yīng)。 (7) ShapeSet: 形狀集合。每一個(gè)世界對(duì)象都會(huì)維護(hù)一個(gè) ShapeSet 類型的對(duì)象 ,該對(duì)象包含所屬世界的所有剛體的 Shape 類型 。 7 Emini Physics Engine 所有包的層次結(jié)構(gòu)簡(jiǎn)介 Emini物理引擎的大部分實(shí)現(xiàn)類都是 Object類的子類,這種實(shí)現(xiàn)方式提高了程序的運(yùn)行效率,簡(jiǎn)化了類層次且易于理解。包的層次結(jié)構(gòu)如圖 25所示: 圖 25 Emini 物理引擎包的層次結(jié)構(gòu) Emini Physics Engine 的數(shù)學(xué)知識(shí) 由于 不支持浮點(diǎn)數(shù)運(yùn)算,為了在運(yùn)算中盡量準(zhǔn)確, Emini 物理引擎使用 FixPoint 數(shù)據(jù)類型表示浮點(diǎn)數(shù)據(jù)。在使用 FixPoint 類型時(shí),單精度數(shù)可表示的最小的數(shù)為 1221 ?? 。雙精度數(shù)可表示的最小的數(shù)是 2412?? 。 FixPoint 數(shù)據(jù)類型的數(shù)據(jù)在內(nèi)存中仍然是以整型數(shù)據(jù)或者長(zhǎng)整型數(shù)據(jù)存儲(chǔ),只是在使用的時(shí)候?qū)?shù)據(jù)乘以對(duì)應(yīng)位所表示的權(quán)重,就是所用的數(shù)據(jù)。按照這種方法就能最大限度的減小誤差。例如,一個(gè) FixPoint 類型的數(shù)據(jù)如 4096 表示的是十進(jìn)數(shù)據(jù) 1。使用 Fixpoint的單精度類型存儲(chǔ)浮點(diǎn)數(shù)據(jù) 時(shí),就是使用 乘以 4096。最后結(jié)果是 2048。那么內(nèi)存中存儲(chǔ) 的就是 2048,用 2048 表示 。 由于一個(gè) FixPoint 類型的單精度數(shù)用 12 位的整型數(shù)據(jù)表示,所以只能截取該類型數(shù)據(jù)的高四位 0110來(lái)表示一個(gè) FixPoint類型的數(shù)據(jù)是如何轉(zhuǎn)化為浮點(diǎn)型數(shù)據(jù)的。 基于 J2ME 的益智游戲設(shè)計(jì) 8 表 21 FixPoint 代表的數(shù) 0110 表示的數(shù) 2 1 0 1 1 0 = 2*0+1*1+*1+*0 = 開(kāi)發(fā)平臺(tái)與運(yùn)行環(huán)境 簡(jiǎn)介 (1) JDK JDK 是 Java 開(kāi)發(fā)工具包 (Java Development Kit), Java 應(yīng)用程序的基礎(chǔ) 。本文中所用的 JDK 版本為 JDK 。 (2) Eclipse 開(kāi)發(fā)平臺(tái) Eclipse 是一個(gè)開(kāi)放源代碼的、基于 Java 的可擴(kuò)展開(kāi)發(fā)平臺(tái)。 Eclipse 本身只是一個(gè)框架和一組響應(yīng)的服務(wù),并不能夠開(kāi)發(fā)什么程序。在 Eclipse 中幾乎每樣?xùn)|西都是插件,實(shí)際上正是運(yùn)行在 Eclipse 平臺(tái)上的種種插件提供我們開(kāi)發(fā)程序的各種功能。同時(shí)各個(gè)領(lǐng)域的開(kāi)發(fā)人員通過(guò)開(kāi)發(fā)插件,可以構(gòu)建與 Eclipse 環(huán)境無(wú)縫集成的工具。 WTJ 是一個(gè)用于 J2ME 開(kāi)發(fā)的 Eclipse 插件。它使 Eclipse 可以更有效地開(kāi)發(fā)移動(dòng)設(shè)備的 Java 應(yīng)用程 序。 本系統(tǒng)的開(kāi)發(fā)工具首選開(kāi)源工具 Eclipse Helios 和 作為 J2ME 開(kāi)發(fā)工具。 (3) 運(yùn)行環(huán)境 本系統(tǒng) 開(kāi)發(fā)時(shí)在如下 環(huán)境 中運(yùn)行良好: 操作系統(tǒng): Microsoft Windows XP Professional Service Pack 3。 運(yùn)行環(huán)境: J2ME SDK 。 附加工具: QuickTime 7。 同時(shí)也可以在內(nèi)存 以上,應(yīng)用程序限制大小大于 800K、屏幕分辨率為240*3支持混音的 Nokia 真機(jī)上運(yùn)行。 本章主要是介紹了 J2ME 技術(shù)的基本框架組成、 MIDlet 程序的基本形式和Emini 物理引擎的基本概念、框架結(jié)構(gòu)和使用方法。最后介紹了開(kāi)發(fā)工具、開(kāi)發(fā)平臺(tái)和運(yùn)行環(huán)境。 9 3 需求分析 需求分析和系統(tǒng)設(shè)計(jì)是軟件開(kāi)發(fā)的基礎(chǔ),決定著軟件開(kāi)發(fā)的成功與否 [6]。需求分析就是基于用戶的需求并且結(jié)合現(xiàn)有技術(shù)能力通過(guò)分析游戲策略和規(guī)則進(jìn)而得出系統(tǒng)的擬實(shí)現(xiàn)的功能需求。需求分析的結(jié)果影響著整個(gè)系統(tǒng)的成敗。 游戲規(guī)則簡(jiǎn)介 鵝城之戰(zhàn)以后,鵝城人民過(guò)了一段沒(méi)有馬匪的好日子。但是,好景不長(zhǎng),一股馬匪霸占了鵝城,無(wú)惡不作。鵝城人民生活在水深火熱之中。張牧 之不得不重新出山,趕走馬匪,奪回鎮(zhèn)長(zhǎng)之位,保護(hù)鵝城人民。 玩家開(kāi)始游戲以后,可以控制游戲中的主角張牧之,通過(guò)點(diǎn)擊觸摸屏發(fā)射子彈,子彈會(huì)在空中飛行,飛行的過(guò)程中會(huì)擊中在飛行路線上的馬匪。如果馬匪被全部消滅,且主角沒(méi)有死亡,則闖關(guān)成功。玩家經(jīng)過(guò)不斷挑戰(zhàn)各種關(guān)卡,最終奪回鎮(zhèn)長(zhǎng)之位。但是,闖關(guān)過(guò)程中玩家還要小心不要被木箱、鐵球砸中。如果被砸中就會(huì)導(dǎo)致主角死亡,玩家闖關(guān)失敗。每當(dāng)玩家通過(guò)一關(guān)后系統(tǒng)就會(huì)保存玩家通過(guò)此關(guān)時(shí)消耗的子彈數(shù)量和這一關(guān)玩家可以使用的最大子彈數(shù)。系統(tǒng)在玩家游戲過(guò)程中還會(huì)適當(dāng)?shù)慕o予玩家獎(jiǎng)勵(lì)如提供更多 的子彈,以便平衡游戲的難度,鼓勵(lì)玩家繼續(xù)游戲。所以,每一關(guān)的最大子彈數(shù)可能不同。 游戲設(shè)計(jì)目標(biāo) 本游戲的主要目的是讓玩家體會(huì)到益智游戲的樂(lè)趣,通過(guò)思考子彈的碰撞路徑進(jìn)而讓子彈消滅麻匪,消滅完所有馬匪后,玩家就可通過(guò)這一關(guān)。通過(guò)本游戲讓玩家體會(huì)到讓子彈飛一會(huì)兒的真實(shí)感。因此,本游戲要實(shí)現(xiàn)部分物理效果,慣性、重力下降、摩擦力、彈性碰撞等。同時(shí),本游戲還要提供玩家數(shù)據(jù)管理,系統(tǒng)默認(rèn)為玩家保存和
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1