版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
《坦克大戰(zhàn)》1名目\l“_TOC_250016“一、系統(tǒng)功能模塊 1\l“_TOC_250015“戰(zhàn)斗模塊: 1\l“_TOC_250014“移動模塊 1\l“_TOC_250013“射擊模塊 2\l“_TOC_250012“生命值模塊 3\l“_TOC_250011“碰撞檢測模塊 3\l“_TOC_250010“對象創(chuàng)立模塊 4\l“_TOC_250009“積分模塊 4\l“_TOC_250008“作弊模塊 5\l“_TOC_250007“道具模塊 5\l“_TOC_250006“面板繪圖模塊 6\l“_TOC_250005“大事處理模塊 6\l“_TOC_250004“二、程序關(guān)鍵類說明 7\l“_TOC_250003“Tank類 7\l“_TOC_250002“Missile類 8\l“_TOC_250001“TankLocal類 9\l“_TOC_250000“BloodTool類 102一、系統(tǒng)功能模塊坦克大戰(zhàn)戰(zhàn)斗模塊大事處理模塊面板繪圖模塊坦克大戰(zhàn)戰(zhàn)斗模塊大事處理模塊面板繪圖模塊戰(zhàn)斗模塊碰戰(zhàn)斗模塊碰對移動模塊射擊模塊生命值模塊撞象積作道檢創(chuàng)分弊具測建模模模模模塊塊塊塊塊戰(zhàn)斗模塊:移動模塊模塊描述:上的方向鍵來實(shí)現(xiàn)移動和停頓移動。設(shè)計(jì)方案:1玩耍的耐玩性和挑戰(zhàn)性得到了提高。關(guān)鍵技術(shù)介紹:9個(gè)固定方向?qū)ο螅喊藗€(gè)方向+stop靜止,便利直接調(diào)用這些固定對象;對主站坦克,即玩家的坦克設(shè)置switch...case...是可以檢測出玩家按下的兩個(gè)鍵,最終通過調(diào)用位移方法到達(dá)移動的目的。射擊模塊模塊描述:出。設(shè)計(jì)方案:我們對傳統(tǒng)的坦克四向射擊方式進(jìn)展了完善,將原本的四向完善為八向射擊。關(guān)鍵技術(shù)介紹:當(dāng)前坦克的移動方向標(biāo)志位的值dir,就可以知道馬上打出的子彈朝哪個(gè)方向飛〔大于坦克的移動速度〕飛行,直到撞到障礙物或邊界或擊中坦克,子彈消亡。2生命值模塊模塊描述:后玩耍完畢,增加玩耍的可玩性與玩家容錯(cuò)率。設(shè)計(jì)方案:46條就會有相應(yīng)的削減來響應(yīng)被攻擊。關(guān)鍵技術(shù)介紹:tank對象融為一體,坦這樣就可以實(shí)現(xiàn)坦克的生命值的圖形化。碰撞檢測模塊模塊描述:穿透墻壁。設(shè)計(jì)方案:依次與被測對象進(jìn)展碰撞檢測,其他狀況的碰撞如子彈與坦克可同理實(shí)現(xiàn)。關(guān)鍵技術(shù)介紹:publicRectanglegetRect方法,3被測的兩個(gè)對象直接調(diào)用getRectintersects方法比較兩個(gè)對象的所在矩形框是否相交來推斷是否發(fā)生碰撞。對象創(chuàng)立模塊模塊描述:創(chuàng)立。設(shè)計(jì)方案:群體創(chuàng)立,并合理地對它們進(jìn)展添加、刪除等操作。關(guān)鍵技術(shù)介紹:ArrayListadd方法添加到draw方法就可以創(chuàng)立并繪制出多個(gè)對象。積分模塊模塊描述:由于本玩耍的核心就是玩家把握坦克去摧毀電腦把握的敵方坦克之后獲得獲得確定量的積分,增加玩耍的挑戰(zhàn)性同事具備了確定的攀比性。設(shè)計(jì)方案:一輛電腦把握的坦克之后,積分會增加10,直到玩家把握的坦克被摧毀之后玩耍完畢,每一局玩耍的開頭玩家的積分都會重置歸零。關(guān)鍵技術(shù)介紹:grade靜態(tài)變量,同時(shí)在tankdraw方法里,推斷假設(shè)坦克為敵人坦克,且存活狀況為死亡,則對此變量進(jìn)展加10操作;在玩家按下F24grade0即可。作弊模塊模塊描述:該模塊的功能是可以讓玩家通過按下特別的作弊按鍵使其把握的坦克朝八設(shè)計(jì)方案:ctrl鍵〔〕時(shí),玩家把握的坦克可以朝按則會不停的射擊。關(guān)鍵技術(shù)介紹:Direction88個(gè)方fire方法。道具模塊模塊描述:遮住坦克,而補(bǔ)血道具可以補(bǔ)滿主坦克的血量。設(shè)計(jì)方案:關(guān)鍵技術(shù)介紹:drawmove運(yùn)動為滿一個(gè)周期就連續(xù)下一步移動,假設(shè)滿一個(gè)周期就重置位置。5面板繪圖模塊模塊描述:〔坦〕并重繪,以使玩耍能正常運(yùn)行,同時(shí)利用有關(guān)技術(shù)使重繪時(shí),坦克移動、子彈飛行等操作不會消滅閃耀現(xiàn)象。設(shè)計(jì)方案:paint方法里面畫出全部的可視化對象,將需要先繪制的update方法內(nèi),最終再繪制到主面板上;同時(shí)在面板對象的形象繪制。關(guān)鍵技術(shù)介紹:Toolkit來導(dǎo)入外部圖片資源,并通過反射機(jī)制來通過資源的URLJava中的“雙緩沖”技術(shù),雙緩沖即在雙緩沖實(shí)現(xiàn)過程如下:雙緩沖實(shí)現(xiàn)過程如下:1.1.2.3.將緩沖區(qū)位圖拷貝到當(dāng)前畫布上4.釋放內(nèi)存緩沖區(qū)大事處理模塊模塊描述:作,或按下功能鍵,進(jìn)展特定功能操作;比方玩家死亡,按下F1坦克重生等。6設(shè)計(jì)方案:進(jìn)展處理;玩家通過鍵盤上的方向鍵來操作坦克的移動,按下上、下、左或右鍵坦克能進(jìn)展一般的四向移動,同時(shí)按下左上、左下、右上或右下方向鍵,坦克ctrl鍵坦克能進(jìn)展爆放射擊,朝八個(gè)方向同時(shí)射擊,同時(shí)按下移動鍵和射擊鍵則可以實(shí)現(xiàn)一邊移動一邊攻擊。松開各個(gè)按鍵之后坦克會停頓相應(yīng)的動作,關(guān)鍵技術(shù)介紹:利用在主類里設(shè)置好監(jiān)聽器KeyMoniter,對鍵盤的按下、釋放操作進(jìn)展監(jiān)tankswitchcase來對上下左右,空格,ctrlF1、F2等按鍵識別并反響。二、程序關(guān)鍵類說明Tank類、Missile類、TankLocal類、BloodTool類Tank類坦克類是最主要的類,包含了坦克的一些根本的屬性,如初始坐標(biāo)、frontX,frontY用來推斷坦克是否撞墻的,step則是用于產(chǎn)生敵人坦克移動的隨機(jī)步數(shù)。方法:① draw方法,繪制坦克② locate方法用于確定推斷坦克移動的方向,主要推斷是否為斜向移動③ move方法則是把握坦克坐標(biāo)移動④ fire方法用來構(gòu)建子彈對象并參與到子彈集合中⑤ KeyPressedKeyReleaes⑥ ⑦ superFire則是用來實(shí)現(xiàn)八個(gè)方向的子彈放射的7⑧ stayMove用于處理坦克撞墻的坐標(biāo)變換⑨ eat方法用來推斷主坦克是否與補(bǔ)血道具碰撞及處理TankTank-x:int-y:int+XSPEED:int+YSPEED:int-blood:int-isLive:bool-Justice:bool-step:int-frontX:int-frontY:int+Tank(inx:int,iny:int,injustice:bool)+draw+locate+move+fire:Missile+KeyRelease:Direction+KeyPress:Direction+impactOnWall(inw:Wall):bool-superFire+stayMove+eat:bool+Tank(inx:int,iny:int,injustice:bool,indir:Direction,intl:TankLocal):TankLocalBloodBar+draw(ing:數(shù)據(jù)類型1)內(nèi)部類:坦克類中還擁有一個(gè)內(nèi)部類BloodBar,用于繪制坦克的血條Missile類屬性:x、y,子彈的存活狀況、正義或反派以及方向,還TankLocaltl。方法:① draw方法,繪制子彈② move把握子彈的移動③ 坦克不能發(fā)生碰撞8④ getRect用于返回子彈的坐標(biāo)、寬度和高度,以便進(jìn)展碰撞檢測⑤ hitWall用于推斷子彈是否撞墻及處理MissileMissile-x:int-y:int-isLive:bool-justice:bool-tl:TankLocal+dir:Direction+Missile(inx:int,iny:int,indir:Direction)+Missile(inx:int,iny:int,injustice:bool,indir:Direction,intl:TankLocal)+draw+move+hitTank(int:Tank):bool+hitTanks(int:Tank):bool+getRect:Rectangle+hitWall(inw:Wall):boolTankLocal類方法:① paint方法是最重要的方法之一,全部的可視化對象都必需在此方法中方法中隨主面板實(shí)時(shí)刷,也因此能看到對象的移動。② 方法是雙緩沖技術(shù)的實(shí)現(xiàn),主要畫出一張?zhí)摂M圖片,將要加載的內(nèi)容繪制好,再拷貝到當(dāng)前畫板中。③ 可見性、窗口尺寸可更改性,還負(fù)責(zé)啟動主線程。④ main啟動程序9PaintThreadPaintThreadTankLocal+grade:int+paint+undate+startFrame+mainRunnable+runKeyMoniterKeyAdapter+KeyReleased+KeyPressed內(nèi)部類:① paintThread線程內(nèi)部類,用于重繪面板② KeyMoniter監(jiān)聽內(nèi)部類,用于監(jiān)聽主坦克的按鍵大事BloodTool-x:intBloodTool-x:int-y:int-w:int-h:int-step:int-isLive:bool-tl:TankLocal-postio
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年財(cái)務(wù)報(bào)表制備協(xié)議
- 2024民企股權(quán)注入國企的股權(quán)結(jié)構(gòu)調(diào)整合同3篇
- 2024年電梯安裝工程勞務(wù)分包合同(含工程進(jìn)度報(bào)告)
- 2024年貨車司機(jī)社會保險(xiǎn)及福利合同
- 2024年電梯設(shè)施維修與保養(yǎng)合同3篇
- 2024年試用期間員工權(quán)益保障協(xié)議3篇
- 2024年生態(tài)環(huán)保項(xiàng)目施工建設(shè)監(jiān)理合同3篇
- 2024年環(huán)保監(jiān)控安裝安全協(xié)議3篇
- 2024年版PPP項(xiàng)目中介服務(wù)居間合同樣本一
- 2024天津二手房買賣合同范本獨(dú)家提供交易資金監(jiān)管3篇
- 增服葉酸預(yù)防神經(jīng)管缺陷理論知識考核試題及答案
- 新業(yè)娛樂安全評價(jià)報(bào)告
- 醫(yī)保工作自查表
- 調(diào)休單、加班申請單
- 小學(xué)-英語-湘少版-01-Unit1-What-does-she-look-like課件
- 單證管理崗工作總結(jié)與計(jì)劃
- 安全安全隱患整改通知單及回復(fù)
- 國有檢驗(yàn)檢測機(jī)構(gòu)員工激勵模式探索
- 采購部年終總結(jié)計(jì)劃PPT模板
- CDI-EM60系列變頻調(diào)速器使用說明書
- 【匯總】高二政治選擇性必修三(統(tǒng)編版) 重點(diǎn)知識點(diǎn)匯總
評論
0/150
提交評論