【正文】
ment Abstract J2SE is a kind of fast developing technology implemented on various devices especially the rapid development of information technology, puter use has bee more popular, the practical application of this paper to introduce the design and implementation of the game Battle City .It transports the classical product to puter, offering corresponding software for such more popular hardware platform. Eclipse platform simulator. The player’s tank is controlled by keyboard respo nse events, while the enemy’s tank is operated automatically and is of intelligence. Having been streamlined and optimized, the game system can run fluently and attract the players. This paper describes the history of Battle City, java related technologies and the procedures of structural analysis and the realization of specific functions. Game programming environment in . Its main features are: to move around. capable of firing bullets against enemy. the enemy can move. to simulate the explosion. to create an obstacle. to increase the life Key words game, Java, tank, Smart 南京工程學(xué)院畢業(yè)設(shè)計說明書(論文) i 目 錄 前言 .............................................................1 第一章 系統(tǒng)開發(fā)環(huán)境介紹 ..........................................2 開發(fā)環(huán)境 ...................................................2 JAVA語言的特點 ..............................................2 關(guān)于 ECLIPSE .................................................6 第二章 軟件需求分析 ..............................................8 可行性分析 .................................................8 游戲規(guī)則和系統(tǒng)功能介紹 ......................................8 程序運(yùn)行流程 ...............................................9 第三章 系統(tǒng)總體設(shè)計 .............................................12 主體模塊 ..................................................12 子彈模塊 ..................................................12 坦克模塊 ..................................................13 墻模塊 ....................................................13 血液模塊 ..................................................14 爆炸模塊 ..................................................15 第四章 系統(tǒng)詳細(xì)設(shè)計與實現(xiàn) .......................................16 游戲窗口與我方坦克 ........................................16 子彈與一輛敵人坦克 ........................................22 爆炸與多輛敵人坦克 ........................................27 墻、坦克互相穿越、超級炮彈和生命值 .........................30 血塊與加入圖片 ............................................33 第五章 坦克大戰(zhàn)打炮彈功能系統(tǒng)測試 ...............................36 抬 CTRL 打炮彈的測試要點 ....................................36 坦克大戰(zhàn) 系統(tǒng)采用的測試方法 .................................36 南京工程學(xué)院畢業(yè)設(shè)計說明書(論文) ii 功能測試用例 ..............................................36 結(jié) 論 ..........................................................38 參考文獻(xiàn) ........................................................39 致謝 ............................................................40 附錄:英文技術(shù)資料翻譯 ..........................................41 南京工程學(xué)院畢業(yè)設(shè)計說明書(論文) 1 前 言 如果要從精品云集的 FC游戲中找一款經(jīng)典之作,《坦克大戰(zhàn)》絕對是 FC上所有經(jīng)典中的經(jīng)典,當(dāng)年 NAMCO 的《 Battle City》在國內(nèi)又稱《坦克大戰(zhàn)》,以其極為出色的游戲性令全球眾多玩家為之瘋狂。 論文中介紹了游戲的總體設(shè)計思路和開發(fā)游戲的多線程、高級、低級圖形界面的使用。 隨著信息技術(shù)的飛速發(fā)展,計算機(jī)的使用也日漸普及,本文從實際應(yīng)用出發(fā),向大家介紹坦克大戰(zhàn)游戲的設(shè)計與實現(xiàn)。 Eclipse 平臺模擬器開發(fā)調(diào)試。本論文介紹了坦克大戰(zhàn)的歷史、 java 的相關(guān)技術(shù)及本程序的結(jié)構(gòu)分析和具體功能的實現(xiàn)。 該游戲是一款以紅白機(jī)為平臺操作射擊游戲, 1 名玩家可控制自己的坦克進(jìn)行移動和射擊 , 殲滅對方為勝利目標(biāo)。游戲中的眾多經(jīng)典關(guān)卡至今還讓許多玩家記憶猶新,在 80年代時曾經(jīng)在無數(shù)家庭中帶來了無盡的歡樂。多樣化則是增加游戲的任務(wù),游戲的耐玩性而在坦克大戰(zhàn)里增加更多的內(nèi)容加大其可玩性,比如:裝備,對戰(zhàn)方式,任務(wù)合作模式等等。 Java 引進(jìn)虛擬機(jī) 原理,并運(yùn)行于虛擬機(jī),實現(xiàn)不同平臺的 Java 接口之間。 Java舍棄了 C++的指針對存儲器地址的直接操作,程序運(yùn)行時,內(nèi)存 由操作系統(tǒng)分配,這樣可以避免病毒通過指針侵入系統(tǒng)。程序員只需把主要精力用在類和接口的設(shè)計和應(yīng)用上。 4) 分布式 Java 建立在擴(kuò)展 TCP/IP 網(wǎng)絡(luò)平臺上。類型檢查幫助檢查出許多開發(fā)早期出現(xiàn)的錯誤。 Java 取消了 C 語言的結(jié)構(gòu)、指針、 define 語句、多重繼承、 goto 語句、操作符、重載等不易被掌握的特性,提供垃圾收集器自動回收不用的內(nèi)存空間。 Java 還增加了自動內(nèi)存收集功能,從而簡化了 Java 程序的工作,不過同時也讓系統(tǒng)變得稍微復(fù)雜了一些。 7) 中立性 Java 的設(shè)計目標(biāo)是要支持網(wǎng)絡(luò)應(yīng)用程序。Java 的這種中立性結(jié)構(gòu)不僅對網(wǎng)絡(luò)應(yīng)用很有幫助,而且也很適合單一的系統(tǒng)軟件流通。它指定了基本數(shù)據(jù)類型的大小,及其算術(shù)運(yùn)算元的執(zhí)行行為。例如,它包括一個抽象的 Windows類,并且提供了該類在 Unix、 Windows 和 Macintosh平臺上的 實現(xiàn)。字節(jié)代碼可以動態(tài)地解釋為執(zhí)行應(yīng)用程序特定 CPU 的機(jī)器碼。 我們以解 決碼在一臺 Sun Microsystem SPARC Station10 上執(zhí)行時,達(dá)到每秒三十萬個函數(shù)調(diào)用速率。這種融合方式大部分來自 Xerox 的 Cedar/Mesa 系統(tǒng)。它在設(shè)計上強(qiáng)調(diào)為不斷發(fā)展的運(yùn)算環(huán)境提供支持。一個 Java 類可以實行多個接口,但只能從一個父類繼承。所以你在 Java 中完全可以信任這種轉(zhuǎn)換,而 C 與 C++的編譯器則只是相信你自 己已做了正確的處理。其對象會被傳給 Canvas 的 paint()函數(shù),以便最終顯示。 這樣的技術(shù)在繪制動畫時特別有用。 2020年, Eclipse 選擇 OSGi 服務(wù)平臺規(guī)范為運(yùn)行時架構(gòu)。 2020 年 6 月發(fā)布代號為 Helios 的 版。許多軟件開發(fā)商以 Eclipse 為框架開發(fā)自己的 IDE。 Eclipse 是一個開發(fā)源碼項 目,它其實是 Visual Age for Java 的替代品,其界面跟先前的 Visual Age for Java 差不多,但由于其開放源碼,任何人都可以免費(fèi)得到,并可以在此基礎(chǔ)上開發(fā)各自的插件,因此越來越受人們關(guān)注。由于 Eclipse 中的南京工程學(xué)院畢業(yè)設(shè)計說明書(論文) 7 每樣?xùn)|西都是插件,對于給 Eclipse 提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。它主要由 Eclipse 項目、Eclipse 工具項目和 Eclipse 技術(shù)項目三個項目組成,具體包括四個部分組成—— Eclipse Platform、 JDT、 CDT 和 PDE。 Eclipse SDK(軟件開發(fā)者包)是 Eclipse Platform、 JDT 和 PDE 所生產(chǎn)的組件合并,它們可以一次下載。 南京工程學(xué)院畢業(yè)設(shè)計說明書(論文) 8 第二章 軟件 需求分析 可行性分析 1).游戲程序是一項精度要求很高的程序系統(tǒng) ,因為其代碼利用率很高。 3).我方的坦克的運(yùn)行可以通過鍵盤響應(yīng)事件控制,但敵方則因為是自動運(yùn)行,就需要有一定的智能性;同時,出現(xiàn)在屏幕上的敵方可能性會有較多的數(shù)量,這需要為每個敵方開辟一個線程以便能讓其獨立運(yùn)行。這需要對所有的 對象有較好的控制。 6).是基于虛擬機(jī)的半解釋型編譯系統(tǒng),其執(zhí)行效率較 C++等完全編譯后的程序會低很多,程序如果不進(jìn)行精簡和優(yōu)化,將可能導(dǎo)致運(yùn)行的不流暢。地圖上有障礙物,坦克和子彈都不能穿越障礙物。它標(biāo)識了子彈是屬于玩家的還是敵人的 ,這樣可以控制子彈再脫離坦克后的運(yùn)行狀 態(tài)中的行為 ,其中主要功能流程圖見圖 31 流程圖 當(dāng)擊中了需要做出反應(yīng)的物體時 ,就分別采取措施 :擊中墻時 ,子彈生命就結(jié)束 ,不再繼續(xù)畫 .如果沒有擊中物體 ,就繼續(xù)檢測是否擊中了坦克 ,這根據(jù)子彈的來源分為兩種情況 .當(dāng)來自玩家時 ,檢測是否與敵人碰撞 ,發(fā)生碰撞時 ,將敵人從List 中移走,并置為空,產(chǎn)生爆炸效果,敵人數(shù)量減少一位,敵人屏幕上數(shù)量減少一位。 該類中的變量如表 31 所示。處理坦克和墻相撞的問題。讓坦克更加智能。 該類中的變量如表 39 所示。 表 311 Explode 類中成員變量表 成員變量描述 變量類型 名稱 坦克生死的描述 boolean Live 主類的變量 TankClient Tc 該類中包括 GetDefaultToolkit(), Draw(Graphics)二個方法,其功能表如表312 表 312 Explode 類中方法表 方法名 功能 備注 GetDefaultToolkit() 拿到的工具包 無備注 Draw(Graphics) 畫爆炸現(xiàn)象 無備注 南京工程學(xué)院畢業(yè)設(shè)計說明書(論文) 16 第四章 系統(tǒng)詳細(xì)設(shè)計與實現(xiàn) 游戲窗口與我方坦克 1)窗口 產(chǎn)生一個窗口 , 添加關(guān)閉窗口的事件處理 , 不允許窗口的大小改動 。 public class TankClient extends Frame { public void lauchFrame() { (400, 300)。 } 南京工程學(xué)院畢業(yè)設(shè)計說明書