【正文】
之所以能夠發(fā)展得很快,是因?yàn)榛ヂ?lián)網(wǎng)的發(fā)展非???。 J2SE 支持 XML 技術(shù)和一 整套安全服務(wù),因此為基于各類標(biāo)準(zhǔn)的可互操作應(yīng)用與服務(wù)的創(chuàng)建奠定了重要基礎(chǔ)。 J2SE是基于 Java 跨平臺(tái)技術(shù)和強(qiáng)有力的安全模塊而開發(fā)的,其最新的特征和功能極大地提高了 Java 語(yǔ)言的伸縮性、靈活性、適用性,以及可靠性。本文用 Java 語(yǔ)言、 C 語(yǔ)言、 C++三種主流編程技術(shù)比較,闡述了使用 Java 語(yǔ)言編程的原因。 JAVA現(xiàn)在主要用在 WEB 開發(fā),手機(jī)游戲及一些平臺(tái)游戲的開發(fā),因?yàn)樗哂泻芎玫目缙脚_(tái)性,在手機(jī)等各種電子產(chǎn)品上應(yīng)用非常廣泛。 本系統(tǒng)和其他開發(fā)游戲區(qū)別 本系統(tǒng)的坦克大戰(zhàn)是基于 Java 語(yǔ)言設(shè)計(jì)開發(fā)的,具有高超的人工智能,精美的圖形處理,支持單機(jī)運(yùn)行和網(wǎng)絡(luò)對(duì)戰(zhàn)的坦克射擊游戲。 關(guān)鍵詞: 面向?qū)ο螅惶箍舜髴?zhàn);網(wǎng)絡(luò)游戲; Java; Socket 類 Javabased Web version of Battle City Game Design 【 Abstract】 The design of objectoriented design patterns, all the objects on in the game to give the concept of objects and attributes. After running the program allows the user to select the implementation of the Options menu. At the beginning of the game, start the server and client, all objects on the background graphics. Thread running in the main program, the screen refresh frequency will be some double buffer technology to redraw the screen in real time to reflect the state of the game. Usercontrolled tanks to run in the main thread, with the screen refresh frequency of the movement. Tank will start to initialize the game, and then draw the map of the upper tank. Designed to achieve the main function is to allow tanks to move and be able to play smart bombs, dodge bullets, to blow up other tanks. To support online play and single play against two modes. Key words: Objectoriented。 石家莊科技信息職業(yè)學(xué)院 畢 業(yè) 論 文 題目: 基于 J2SE 的坦克大戰(zhàn) 學(xué) 號(hào): 090124017 姓 名: 李世陽(yáng) 專業(yè)班級(jí): 軟件技術(shù)(游戲方向) 0924 班 指導(dǎo)教師: 劉永偉 完成日期: 20xx1218 基于 Java 的網(wǎng)絡(luò)版坦克大戰(zhàn)游戲設(shè)計(jì) 摘 要: 本設(shè)計(jì)采用面向?qū)ο蟮脑O(shè)計(jì)模式,對(duì)游戲中的 所有物體賦予對(duì)象的概念和屬性。能夠支持網(wǎng)絡(luò)對(duì)戰(zhàn)和單機(jī)對(duì)戰(zhàn)兩種模式。 游戲設(shè)計(jì)的需求分析 本系統(tǒng)的現(xiàn)實(shí)意義 游戲本身是一種娛樂(lè)方式,能帶給人們無(wú)盡的樂(lè)趣,而且游戲行業(yè)的發(fā)展還將會(huì)帶動(dòng)眾多周邊產(chǎn)業(yè),如五金、塑料、機(jī)械、電子、 顯像管,高端機(jī)型甚至使用了 40 英寸以上的大屏幕背投、液晶顯示器等,這些顯像設(shè)備不但要依賴國(guó)內(nèi)眾多顯像管生產(chǎn)企業(yè)提供支持,更要針對(duì)游戲的內(nèi)容進(jìn)行深入開發(fā)和優(yōu)化,以適應(yīng)游戲內(nèi)容的飛速發(fā)展和變化,大大突破了傳統(tǒng)家電類顯像設(shè) 備的限制,對(duì)國(guó)內(nèi)顯像管制造企業(yè)的發(fā)展、創(chuàng)新具有極大的推動(dòng)作用,大型游戲機(jī)的外部框體制造涉及工業(yè)設(shè)計(jì)、模具加工、五金加工、塑料成形、特殊印刷等工藝流程,由此帶動(dòng)了一大批相關(guān)的零部件生產(chǎn)制造企業(yè),而這些企業(yè)均為生產(chǎn)密集型企業(yè),大幅度增加了勞動(dòng)就業(yè)的需求。 開發(fā)技術(shù)概述 Java、 C語(yǔ)言、 C++三種主流編程技術(shù)比較 Java 語(yǔ)言是一種跨平臺(tái),適合于分布式計(jì)算環(huán)境的面向?qū)ο缶幊陶Z(yǔ)言。本系統(tǒng)主要的現(xiàn)實(shí)意義,與其他游戲的區(qū)別和完善的一些功能。 J2SE 框架 J2SE 軟件是快速開發(fā)、部署關(guān)鍵任務(wù)和企業(yè)應(yīng)用程序的首選解決方案。 ③ 支持 Web 服務(wù) : J2SE 對(duì) SSL、LDAP 等業(yè)界標(biāo)準(zhǔn)技術(shù)也給予支持,因此保證了在不同平臺(tái)、系統(tǒng)和環(huán)境間的互操作能力。 J2SE 版還是 J2ME 的基礎(chǔ),是 J2EE 執(zhí)行程序的推動(dòng)力。其基本模型就是客戶機(jī) /服務(wù)器模型,也就是通信雙方中的一方必須提供一個(gè)固定的位置,而另一方只需要知道這個(gè)固定的位置,并且建立兩者之間的聯(lián)系,然后完成數(shù)據(jù)交換。 Java 圖形編程 Java 中的 Graphics 類是用于繪圖和顯示格式化文本的工具類。整個(gè)網(wǎng)絡(luò)版坦克大戰(zhàn)游戲 流程 圖如圖 : 10 圖 網(wǎng)絡(luò)坦克大戰(zhàn)游戲 流程 TankClient類基本功能分析 TankClient 類是整個(gè)系統(tǒng)的核心部分,它承擔(dān)整個(gè)系統(tǒng)的所有可實(shí)現(xiàn)功能的調(diào)度工作。使用 11張圖片重疊現(xiàn)實(shí)爆炸效果如 圖所示: 圖 爆炸圖 服務(wù)器類基本功能分析 TankServer(服務(wù)器)類主要負(fù)責(zé)在網(wǎng)絡(luò)對(duì)戰(zhàn)游戲時(shí)維護(hù)各個(gè)在線玩家的基本信息,并動(dòng)態(tài)的維護(hù)玩家列表。因?yàn)樗⑿轮禺嬵l率太快, paint()方法還沒有完成,會(huì)造成逐條顯示,影響系統(tǒng)的運(yùn)行,所以解決辦法是創(chuàng)建一個(gè)虛擬屏幕,在屏幕的后面,在要畫的將所有的東西畫在虛擬屏幕上,也就是內(nèi)存上,畫完之后一次性將虛擬屏幕上的內(nèi)容貼到屏幕上,這樣就消除了閃爍現(xiàn)象,用戶的眼睛便感覺不到閃爍了。 paint(gOffScreen)。 //TCP 的監(jiān)聽端口 public static final int UDP_PORT = 6666。 } 21 while(true) { //鏈接 TCP try { s = ()。 (A Client Connected!Addr_+IP+:+()+_UDPPort:+udpPort)。 //接受數(shù)據(jù)包 for(int i=0。在單機(jī)模式下,玩家的游戲發(fā)射火力要比電腦隨機(jī)產(chǎn)生的坦克能力稍強(qiáng)一些,當(dāng)分?jǐn)?shù)值達(dá)到一定時(shí),玩家可以發(fā)射超級(jí)炮彈。使用不同的編程環(huán)境,其效率完全不一樣,所以我選擇了 Eclipse,它自動(dòng)找錯(cuò) /糾錯(cuò)功能、 Debug 調(diào)試和代碼自動(dòng)生23 成等一些重要的功能大大提高了我的設(shè)計(jì)效率。 24 致 謝 經(jīng)過(guò)三個(gè)多月的忙 碌和工作,本次畢業(yè)設(shè)計(jì)業(yè)已完成了,由于經(jīng)驗(yàn)的匱乏和業(yè)務(wù)邏輯的不熟悉,難免有許多考慮不周全和不完善的地方,但是在指導(dǎo)老師和宿舍同學(xué)的幫助下很多困難都得以解決,所以在此本人要特別感謝他們對(duì)我的幫