




已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
超級瑪麗JAVA小游戲詳細設計目錄1.導言21.1編寫目的21.2項目范圍21.3參考資料21.4縮寫說明21.5術語定義22.功能需求32.1界面設計技術32.2游戲功能劃分32.3功能劃分的架構圖32.4具體的功能模塊42.5功能描述42.6程序的總體架構42.7程序的三層結構圖43.面向對象設計53.1主要類圖53.2各個模塊的方法或類名類表示53.3地圖繪制中的坐標說明64.程序的詳細設計64.1主要人物瑪麗的實現64.2核心類7超級瑪麗JAVA小游戲詳細設計1.導言1.1編寫目的 該文檔的目的是說明超級瑪麗游戲的功能和設計方向、目標等描述游戲項目的整體框架的實現。其主要內容包括:游戲項目的功能簡介,接口設計,模塊設計,界面設計。本文檔預期讀者包括:項目管理人員,編程人員,數據庫設計人員,美工,測試人員。1.2項目范圍該文檔定義了游戲的模塊,結構單元,但未確定單元的實現方法,這部分內容將在具體的代碼設計中實現。1.3參考資料軟件工程案例教程 機械工業(yè)出版社 韓萬江 編著J2ME手機游戲開發(fā)技術詳解清華大學出版社 李振鵬 龔劍 編著1.4縮寫說明UML:Unified Modeling Language(統(tǒng)一建模語言)的縮寫,是一個標準的建模語言。1.5術語定義MIDP 2.0 定義:MIDP 2.0 也叫MIDP_NG,它的編號是JSR 118。MIDP2.0 與1.0相比有很大提高,增加的特性包括:提供域安全模型,以允許對應用程序進行簽名和論證;提供TCP、UDP網絡接口;內置OTA;更好的用戶界面;基本的聲音API。2.功能需求2.1界面設計技術1) 選取和諧Q版的圖片,使畫面色彩和諧自然,配合動聽的音樂渲染游戲氣氛2) 采用對話框方式,多功能窗口運行,固定窗口大小便于程序編寫,鍵盤操作游戲角色。3) 使用低級用戶界面,響應低級用戶事件,不使用MIDP2.0GameAPI4) 地圖數據采用char類型,對每一個地圖塊的大小為1616像素,采用單層地圖,以提高游戲的運行速度5) 居于多線程,實現進度條2.2游戲功能劃分游戲的基本功能應該包括菜單處理,程序邏輯處理,持久性處理和掛起恢復處理。u 關于菜單的處理,包括可以選擇的進入游戲、保存、幫助和音效開關等。u 程序的邏輯處理就是涵蓋了程序中除菜單外幾乎所有的功能。u 持久性處理就是資源的載入和游戲的進度保存。2.3功能劃分的架構圖2.4具體的功能模塊1) 游戲控制模塊2) 查詢記錄模塊3) 關卡選擇模塊4) 游戲設置模塊2.5功能描述玩家打開程序,在游戲菜單頁面有四個選項。u 關卡選擇:選擇已玩過的關卡進行游戲;u 開始游戲:從游戲的第一關進行游戲,玩家通過按鍵控制主人公馬里奧進行不同的操作;u 查詢記錄:查詢五個最高游戲分數,排名由上往下遞減。u 游戲設置(包括音樂設置和按鍵設置):玩家可以設置游戲進行時的音樂開或關以及修改相應的控制鍵。2.6程序的總體架構本程序采用3層程序架構,業(yè)務表現層,業(yè)務邏輯層和數據持久層。u 業(yè)務表現層。主要是游戲界面的繪制,通過指定的接口繪制,與游戲的邏輯分離。u 業(yè)務邏輯層。主要是游戲的人物和敵人的動作,碰撞的判斷,這個與表現層無關,需要表示層調用定義好的接口與邏輯層的通信u 數據持久層。保存游戲中的數據,載入游戲中需要的資源,與程序邏輯層無關,用XML文檔存儲數據2.7程序的三層結構圖表現層(繪制屏幕)數據持久層(數據存儲)邏輯層(程序的邏輯) 3.面向對象設計3.1主要類圖3.2各個模塊的方法或類名類表示3.3地圖繪制中的坐標說明4.程序的詳細設計4.1主要人物瑪麗的實現public class MarioMainSprite extends LPSpritepublic MarioMainSprite(MarioGameManage gm,LPMaps map)public void action() /重寫基類private void spriteDeadAction() /瑪麗死時的動作private void checkEnemyCollision() /檢查與敵人碰撞private void mainSpriteDamage() /檢查是否踩到敵人private boolean checkStaticSpriteCollision() /檢查與靜止不動的物品碰撞, private void judgeKeyCode(int keyCode,int gameKeyCode)private void freeKey(int KeyCode,int gameKeycode) /按鍵處理private void walk() /人物走的動作private boolean checkTileCollisionVertical() /檢查與地圖的縱向碰撞private boolean checkTileCollisionHorizon() /檢查與地圖的橫向碰撞private void fire() /發(fā)射子彈private boolean checkSpriteCollisionVertical() /檢查縱向與敵人碰撞private boolean checkSpriteCollisionHorizon() /檢查橫向與敵人碰撞private void checkBulletDamage() /檢查子彈與敵人的碰撞public void init() /初始化private void changeUpSpriteState() /檢查磚塊上方是否有敵人public void readData(DataInputStream dis) /讀取數據throws java.io.IOExceptionpublic void writeData(DataOutputStream dos) /保存數據throws java.io.IOException4.2核心類public class LPSprite public int x; /橫坐標public int y; /縱坐標public int frameCnt; /Sprite 的幀計數器 public boolean isHidden; /Sprite 是否隱藏protected int timeCnt; /Sprite 的時間計數器protected int offset; /Sprite 的圖片偏移public void action()/Sprite 的動作public void reInit(int x,int y) /重新初始化函數this.x=x;this.y=y;isHidden=false;public void writeData(DataOutStream dos) throws IOException /持久化操作接口、寫數據、派生類重寫時必須首先調用此函數dos.writeInt(x);dos.writeInt(y);dos.writeInt(frameCnt);dos.writeBoolean(isHidden);dos.writeInt(timeCnt);dos.writeInt(offset);public void readData(DataInputStream dis) throws IOExceptionx=dis.readInt();y=dis.readInt();frameCnt=dis.readInt();isHidden=dis.readBoolean();timeCnt=dis.readInt();offset=dis.readInt();/地圖繪制的實現public class LPMaps public char mapArray; public int x; public int y; public int w; public int h; public int tileSize; public final LPImageManage image; public String mapId; public LPMaps(LPImageManage image,char array,int w,int h,int tileSize,String id) this.image = image; mapArray = array; this.x = 0; this.y = 0; this.w = w; this.h = h; this.tileSize = tileSize; mapId = id; /保存記錄public class LPSaveRecord private RecordStore rs; private String rsName; public LPSaveRecord(String name) rsName=name; try if(existRecordStore(name) rs=RecordStore.openRecordStore(name,false); else rs=RecordStore.openRecordStore(name,true); catch(RecordStoreNotFoundException e) System.out.println(Open Record Error); System.out.println(e.toString(); catch(Exception e) System.out.println(e.toString(); public void addRecord(byte rec) try rs.addRecord(rec,0,rec.length); catch(Exception e) System.out.println(Add Record Error); System.out.println(e.toString(); public void close() try rs.closeRecordStore(); catch(Exception e) System.out.println(Close Record Error); System.out.println(e.toString(); public boolean IsEmpty() try if(rs.getNumRecords()0) return false; else return true; catch(Exception e) System.out.println(Get Record Number Error); System.out.println(e.toString(); return true; public void SetRecord(int recordId,byte buffer) try rs.setRecord(recordId,buffer,0,buffer.length); catch(Exception e) System.out.println(Set Record Error); System.out.println(e.toString(); public byte getRecord(int recordId) byte buffer; try buffer=rs.getRecord(recordId); return buffer; catch(Exception e) System.out.println(Get Record Error); System.out.println(e.toString(); return null; public void removeAll() try rs.deleteRecordStore(rsName); catch(Exception e) System.out.println(Remove All Record Error); System.out.println(e.toString(); private boolean existRecordStore(String recordName) boolean existRs=true; RecordStore rsTemp=null; try rsTemp=RecordStore.openRecordStore(recordName,false); c
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業(yè)廢棄物處理的物聯網解決方案
- 工業(yè)旅游的規(guī)劃與實施
- 工業(yè)機器人系統(tǒng)的集成與優(yōu)化
- 工業(yè)機器人技術進展及影響
- 工業(yè)生態(tài)化改造與實踐案例分析
- 工業(yè)能源管理與自動化控制技術
- 工業(yè)設備智能化升級解決方案
- 工業(yè)自動化中的語音控制技術應用
- 工業(yè)設計中的師徒智慧-產品設計專業(yè)成長
- 工作與生活平衡與員工福利設計
- 龍鑫煤礦礦井概況-2
- 國際合作項目管理制度
- 上海市算力基礎設施發(fā)展報告2024年
- 大模型原理與技術-課件 chap14 基于大模型的航空航天裝備制造
- 【MOOC】線性代數-同濟大學 中國大學慕課MOOC答案
- 離斷傷應急救護原則教學
- 四川省瀘州市(2024年-2025年小學五年級語文)人教版摸底考試((上下)學期)試卷及答案
- 人教版勞動教育一年級上冊全冊課件
- 生物統(tǒng)計學習題集
- 義務教育信息科技課程標準(2024年版)
- 微信公眾號開發(fā)服務協議
評論
0/150
提交評論