



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、軟件詳細(xì)設(shè)計說明書TankWar 類:TankWar繼承 Frame 類。1、paint()方法paint()方法主要實現(xiàn)對坦克類和子彈類,障礙物類和爆炸類等畫到窗 口上。坦克類又分為MyTank和EnwmyTank兩類。對這兩類用不同的顏色 畫到窗口上。畫子彈時經(jīng)過傳遞坦克的顏色畫出相應(yīng)的子彈顏色。子彈畫坦克死亡則不再對其進(jìn)行重畫。2、update()方法。update()方法主要是為了解決,重畫頻率太快,paint()方法還沒有完成,重畫坦克時出現(xiàn)的閃爍現(xiàn)象。經(jīng)過雙緩沖技術(shù)將所有東西畫在虛擬圖片上,一次性顯示出來解決閃爍 現(xiàn)象。3、內(nèi)部類KeyMon®盤監(jiān)聽KeyMon能承Key
2、Adapter類。經(jīng)過KeyMont的監(jiān)聽,用戶能夠經(jīng)過鍵盤 控制自己的坦克。4、內(nèi)部類 MyTankWarThreadMyTankWarThreacR現(xiàn) Runnable 接口,經(jīng)過 MyTankWarThrea成現(xiàn)對坦 克的重畫,實現(xiàn)坦克的移動。5、showFrame()方法showFrame()方法主要是設(shè)置一個窗口及其各種參數(shù)。Tank 類Tank類是實現(xiàn)Runnable接口的一個抽象類1、Tank類的主要屬性有:/int x;/坦克的位置int y;int oldx;/坦克上一步的坐標(biāo)int oldy;/Dir dir;/ Tank方向的成員變量int speed = 5;boole
3、an isLive = true;2、Tank類提供各種的構(gòu)造方法Tank(int x, int y)Tank(int x, int y, Dir dir)Tank(int x, int y, Dir dir, TankWar tw)根據(jù)不同的需要使用不同的構(gòu)造方法。3、drawTank ()方法drawTank()方法根據(jù)坦克的類型不同能夠畫出不同類型的坦克和不同方 向的坦克。敵人的坦克用BLUE!出來,自己的坦克用RE顏色畫出來,以 區(qū)分?jǐn)澄摇?、fire()方法fire()方法的功能是實現(xiàn)打出一顆子彈,fire()方法調(diào)用了畫坦克的顏色變量c,畫出與坦克一樣顏色的子彈,以區(qū)別子彈是那一方
4、發(fā)出來 的。5、isHitWall()方法該方法是用來判斷Tank是否與障礙物發(fā)生碰撞public boolean isHitWall() Wall w = null;for (int i = 0; i < tw.walls.size(); i+) w = tw.walls.get(i);if (w.isHits(this.getRectangle() return true;)return false;)6、getRectangle()方法該方法主要是用來檢測是否發(fā)生了碰撞。public Rectangle getRectangle() return new Rectangle(x,
5、y, TANK_WIDTH, TANK_HEIGHT);)7、add(int count, TankWar tw)方法該方法是用來添加敵人坦克的,當(dāng)敵人坦克數(shù)量減少時,而此時敵人的count又未小于0時添加相應(yīng)數(shù)量的敵人坦克來增加游戲的可玩性。MyTank 類MyTan螃8 承 Tank類1、locDir(KeyEvent e)方法經(jīng)過鍵盤監(jiān)聽,對按鍵進(jìn)行監(jiān)聽來實現(xiàn)用戶能夠經(jīng)過 W D S A3個方向鍵 對坦克的控制2、keyReleased(KeyEvent e)方法該方法主要是為了防止連續(xù)發(fā)子彈的問題,只有放開SPAC按鍵才能夠發(fā)彈,這樣就增加了游戲的可玩性。3、stay()方法該方法主要
6、實現(xiàn)暫停的功能,這個是本游戲代碼中的一個的亮點,經(jīng)過 線程來實現(xiàn)的public void stay() int tc = Thread.activeCount();Thread threads = new Threadtc;Thread.enumerate(threads);if (tw.flag) for (int i = 0; i < threads.length; i+) System.out.println(tc + ":suspend " +threadsi.getName();if (threadsi.getName().matches("AThread-.*") threadsi.suspend();tw.flag = false;) else if (! tw.flag) for (int i = 0; i < threads.length; i+) System.out.println(tc + ":resume " +threadsi.getName();if (threadsi.getName().matches("AThread-.*") threadsi.resume();tw.flag = true;4、move()方法
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025人教版(2024)小學(xué)美術(shù)一年級下冊教學(xué)計劃、教學(xué)設(shè)計及教學(xué)反思(附目錄)
- 2023槽式太陽能集熱器技術(shù)條件
- 小產(chǎn)權(quán)購房協(xié)議書
- 旅游業(yè)數(shù)字化轉(zhuǎn)型服務(wù)流程管理辦法
- 亮化工程廠家供貨合同
- 合伙合作工程協(xié)議書
- 商標(biāo)權(quán)轉(zhuǎn)讓合同書8篇
- 房屋遺產(chǎn)分配協(xié)議書
- 建筑器材購銷合同范本
- 水環(huán)真空泵市場分析及競爭策略分析報告
- 中國無人機(jī)市場分析
- 2025高考數(shù)學(xué)專項復(fù)習(xí):圓中鬼魅阿波羅尼斯圓(含答案)
- 2024年新課標(biāo)培訓(xùn)2022年小學(xué)英語新課標(biāo)學(xué)習(xí)培訓(xùn)課件
- 中學(xué)八年級信息技術(shù)Excel-電子表格教案
- 哲學(xué)與人生 第二課 樹立科學(xué)的世界觀2.1
- 巖石破碎型泥水平衡頂管施工工法
- 人教A版(2019)高中數(shù)學(xué)選擇性必修第二冊 《數(shù)列的相關(guān)概念》教學(xué)設(shè)計
- 醫(yī)療信息共享與互聯(lián)網(wǎng)醫(yī)療管理制度
- 2024新版有限空間作業(yè)安全大培訓(xùn)
- 九年級語文下冊-【《孔乙己》課后習(xí)題參考答案】
- 人教版高中英語必修二詞匯表(默寫版)
評論
0/150
提交評論