資源描述:
《Java游戲開發(fā)項(xiàng)目及游戲源碼》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、實(shí)用文檔Java程序設(shè)計(jì)項(xiàng)目1.項(xiàng)目背景為了提高學(xué)生動(dòng)手能力,增加學(xué)生實(shí)踐的機(jī)會(huì),某軟件公司實(shí)習(xí)單位要求學(xué)生5-6人組成開發(fā)團(tuán)隊(duì)進(jìn)行Java程序項(xiàng)目開發(fā),參考自己團(tuán)隊(duì)的實(shí)力與客戶的要求,使用Java語言開發(fā)某一項(xiàng)目,此項(xiàng)目可以是應(yīng)用程序,也可以是游戲開發(fā)等,項(xiàng)目名稱自擬。2.硬件資源和軟件資源(1)每組配備聯(lián)網(wǎng)PC機(jī)5-6臺(tái),智能手機(jī)一部(帶有手機(jī)數(shù)據(jù)線)HP打印機(jī)一臺(tái)。(2)eclipse-SDK-3.6.1-win32軟件開發(fā)程序(含有eclipseme插件)、SUNWTK無線開發(fā)包或Symbian_3_SDK_v0_9等手機(jī)開發(fā)包。3.實(shí)驗(yàn)室功能需求(1)實(shí)現(xiàn)學(xué)生
2、機(jī)和教師機(jī)器(服務(wù)器)進(jìn)行通信,相互共享資源。(2)教師機(jī)器(服務(wù)器)上安裝一臺(tái)打印機(jī),實(shí)現(xiàn)學(xué)生機(jī)可以共享打印。(3)實(shí)現(xiàn)教師機(jī)器(服務(wù)器)連接和訪問Internet。(4)實(shí)現(xiàn)每一臺(tái)學(xué)生機(jī)器訪問Internet。(5)要求為每一項(xiàng)目組學(xué)生機(jī)和教師機(jī)器分配一個(gè)標(biāo)識(shí),即學(xué)生機(jī)器的機(jī)器名為ST1~ST10,教師機(jī)器名為Server。4.項(xiàng)目實(shí)施要求(1)要求各項(xiàng)目小組拿出詳細(xì)的某某Java程序設(shè)計(jì)項(xiàng)目報(bào)告書(具體項(xiàng)目規(guī)劃書格式參考附表一),關(guān)鍵步驟要有相應(yīng)的截圖。(2)要求項(xiàng)目組長(zhǎng)向各小組講解與演示自己小組的項(xiàng)目成果,組長(zhǎng)小組成員要熟練的解釋與分析自己負(fù)責(zé)編寫的Java代碼
3、或項(xiàng)目分工成果。(3)最后提交用小組命名的文件夾,其中包括開發(fā)所用的所有資料與項(xiàng)目成果。文案大全實(shí)用文檔附表一:雷霆戰(zhàn)機(jī)項(xiàng)目報(bào)告書一、項(xiàng)目概述本項(xiàng)目為一個(gè)Java游戲,是一個(gè)基于J2ME平臺(tái)的飛機(jī)射擊類游戲。二、項(xiàng)目開發(fā)團(tuán)隊(duì)三、所用Java相關(guān)知識(shí)點(diǎn)用了java的MIDP2.0的游戲類、GameCanvas類、游戲中的多線程應(yīng)用、游戲引擎框架結(jié)構(gòu)等等。四、項(xiàng)目需求分析1.游戲程序是一項(xiàng)精度要求很高的程序系統(tǒng),因?yàn)槠浯a利用率很高。一個(gè)實(shí)時(shí)運(yùn)行的最終作品,每秒都會(huì)運(yùn)行成千上萬行程序,繪圖事件、鍵盤事件都會(huì)以極高的頻率在后臺(tái)等待響應(yīng),若有絲毫的差別都將很容易導(dǎo)致程序在運(yùn)行不
4、久后可能出現(xiàn)嚴(yán)重錯(cuò)誤,甚至死循環(huán)。因此,其邏輯設(shè)計(jì)應(yīng)當(dāng)相當(dāng)嚴(yán)謹(jǐn),需將所有可能發(fā)生的事件及意外情況考慮在設(shè)計(jì)中。2.游戲中為了美觀,適用性強(qiáng),可能需要采用外部文件引入的圖片貼圖,有關(guān)貼圖,在MIDP2.0中提供了用于增強(qiáng)游戲功能的game包,使得解決靜態(tài)或動(dòng)態(tài)、畫面背景、屏幕刷新的雙緩沖等都有較好的解決方案。3.玩家飛機(jī)的運(yùn)行可以通過鍵盤響應(yīng)事件控制,但敵方則因?yàn)槭亲詣?dòng)運(yùn)行,就需要有一定的智能性;敵人飛機(jī)的運(yùn)行算法也要進(jìn)行相關(guān)的設(shè)置,已免游戲過于簡(jiǎn)單。4.對(duì)于雙方發(fā)射的子彈應(yīng)該賦予不同的速度,同時(shí),程序應(yīng)該設(shè)定敵人飛機(jī)的子彈不與敵人的飛機(jī)進(jìn)行碰撞檢測(cè),已增加游戲的可玩性。
5、5.雙方的飛機(jī)在前進(jìn)時(shí)也需要考慮到是否碰撞到對(duì)方飛機(jī),以免重疊運(yùn)行,造成許多物理上不可能的情況,缺乏真實(shí)感。每一次刷新頁面、每前進(jìn)一步都需要進(jìn)行相關(guān)的碰撞檢測(cè)。6.為了增加界面的美觀,在程序中添加了白云。由于手機(jī)屏幕大小有限,所以白云的數(shù)量和出現(xiàn)的位置要經(jīng)過相關(guān)的設(shè)置,才能實(shí)現(xiàn)白云不規(guī)則出現(xiàn)的效果。7.游戲的地圖不可能通過繪圖來解決。否則,不僅難于控制和處理過多的元素,也會(huì)因過多的大型圖片而不能限制程序的大小,失去手機(jī)上程序的原則和Java的優(yōu)勢(shì)。文案大全實(shí)用文檔8.Java是基于虛擬機(jī)的半解釋型編譯系統(tǒng),其執(zhí)行效率較C++等完全編譯后的程序會(huì)低很多,程序如果不進(jìn)行精簡(jiǎn)
6、和優(yōu)化,將可能導(dǎo)致運(yùn)行的不流暢。除開發(fā)過程中對(duì)結(jié)構(gòu)上的控制、變量的使用、算法的優(yōu)化等優(yōu)化外,還可以使用混淆器(Obfuscator)進(jìn)行程序打包后的優(yōu)化。9.游戲的結(jié)束、開始、動(dòng)態(tài)信息畫面作為構(gòu)成一個(gè)程序都是必不可少的重要部分。良好的用戶界面更是吸引用戶的硬指標(biāo),相關(guān)的美術(shù)構(gòu)圖和人性化設(shè)置也需要有一定的考慮。五、類設(shè)計(jì)(包含結(jié)構(gòu)圖)5.1游戲進(jìn)入前的選擇每個(gè)MIDlet程序都必須有一個(gè)主類,該類必須繼承自MIDlet。它控制著整個(gè)程序的運(yùn)行,并且可以通過相應(yīng)函數(shù)從程序描述文件中獲取相關(guān)的信息。該類中擁有可以管理程序的創(chuàng)建、開始、暫停(手機(jī)中很可能有正在運(yùn)行程序卻突然來電
7、的情況,這時(shí)應(yīng)進(jìn)入暫停狀態(tài)。)、結(jié)束的函數(shù)。本程序主類為lzhhdm,并實(shí)現(xiàn)接口CommandLIstener。圖5-1游戲背景介紹首先顯示的是游戲的背景介紹(圖5-1),為此,在類lzhhdm定義Form類對(duì)象a,在startApp()函數(shù)中判斷isSplash是否為真,如果為真的話,將創(chuàng)建Form類的實(shí)例a,并且調(diào)用append()方法在表單上放置StringItem類的實(shí)例以顯示游戲背景信息。使用語句文案大全實(shí)用文檔ok=newCommand("ok",Command.OK,1);實(shí)例化Command類對(duì)象ok。調(diào)用addComma