坦克大戰(zhàn)系統(tǒng)《Java程序開發(fā)實(shí)訓(xùn)》綜合實(shí)訓(xùn)報(bào)告_第1頁
坦克大戰(zhàn)系統(tǒng)《Java程序開發(fā)實(shí)訓(xùn)》綜合實(shí)訓(xùn)報(bào)告_第2頁
坦克大戰(zhàn)系統(tǒng)《Java程序開發(fā)實(shí)訓(xùn)》綜合實(shí)訓(xùn)報(bào)告_第3頁
坦克大戰(zhàn)系統(tǒng)《Java程序開發(fā)實(shí)訓(xùn)》綜合實(shí)訓(xùn)報(bào)告_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

.../《Java程序開發(fā)實(shí)訓(xùn)》綜合實(shí)訓(xùn)報(bào)告題目:坦克大戰(zhàn)系統(tǒng)姓名:方慶 學(xué)號(hào):2010203206班級(jí):10軟件〔2班系統(tǒng)實(shí)現(xiàn)的主要功能及運(yùn)行結(jié)果截圖選擇的語言的原因游戲本身是一種娛樂方式,帶給人無盡的樂趣,而且游戲行業(yè)的發(fā)展也將是帶動(dòng)周邊行業(yè)的發(fā)展。同樣對做出游戲的人的要求也會(huì)越來越高一滿足游戲愛好者的要求。本次期末設(shè)計(jì)就是設(shè)計(jì)一種娛樂性較強(qiáng)的小游戲坦克大戰(zhàn),說到大戰(zhàn)其實(shí)是不敢當(dāng)?shù)?。但游戲基本擁有可玩性。java語言是一種跨平臺(tái),適合與分布計(jì)算環(huán)境的面向?qū)ο缶幊陶Z言,java主要用在web開發(fā),手機(jī)游戲及一些平臺(tái)游戲的開發(fā),他有很好的跨平臺(tái)性。所以本次的設(shè)計(jì)坦克游戲選擇的是java。系統(tǒng)軟件的軟件環(huán)境1.網(wǎng)絡(luò)服務(wù)器操作系統(tǒng):Window是XP以上2.開發(fā)工具:Eclipse3運(yùn)行環(huán)境:J2sdk4.編程語言:java語言。人機(jī)對戰(zhàn)模式功能1.能夠發(fā)射子彈打擊敵人2.敵人能夠移動(dòng)3.能夠模擬爆炸4.能夠產(chǎn)生障礙5能夠增長生命6.能夠使用超級(jí)子彈坦克可以發(fā)射子彈玩家坦克被擊中血量減少。被擊中的坦克發(fā)生爆炸并且吃血塊可以加血量。玩家坦克可以從把方向發(fā)射超級(jí)子彈自己的TankHealth為<=0時(shí),。說明玩家坦克已死亡。游戲結(jié)束本系統(tǒng)的坦克大戰(zhàn)是基于java語言設(shè)計(jì)的開發(fā),具有較高的人工智能和相對的圖形處理。游戲可一人作戰(zhàn)每次電腦方有10輛坦克,此一舉消滅全部的敵方坦克為目的。在這過程中坦克有機(jī)會(huì)得到血塊來添加自己的生命值。從而變得強(qiáng)大。也利用wall來形成阻擊敵人。游戲擁有開掛的功能??梢源┻^墻體來攻擊敵方坦克。還給玩家坦克置了超級(jí)炮彈。從八個(gè)方向同時(shí)射出炮彈來摧毀敵方坦克。主要功能簡單羅列如下:1.屏幕左上方顯示游戲的狀態(tài),當(dāng)玩家方坦克全數(shù)為0是游戲結(jié)束2.敵方坦克只在空地上行走,不可通過Wall3.游戲打壞敵方坦克后,可隨機(jī)位置隨機(jī)出現(xiàn)血塊獎(jiǎng)勵(lì)。坦克經(jīng)過該位置可獲得相應(yīng)的生命值加成。4.玩家坦克的游戲資格和電腦坦克不同。TankClient類設(shè)計(jì)流程游戲系統(tǒng)類關(guān)聯(lián)圖TankClient類此類主要功能是利用java中包來實(shí)現(xiàn)的坦克游戲的主主窗口,以及對其他類調(diào)用和實(shí)例化Blood類此類主要定義坦克的生命值,有可以控制玩家坦克加血等操作方法。Missile類此類主要的是游戲中的炮彈類,其中有炮彈的大小以及移動(dòng)等成員。BaoZha類此類定義的是坦克被攻擊的爆炸,其中有坦克擊毀的圖形變化等成員。Tank基本類功能分析Tank類中,封裝了一些變量屬性,包括坦克自己的大小。運(yùn)動(dòng)速度方向控制、生死控制、好壞控制。Tank類中沒有main函數(shù),不是主類,它當(dāng)中只封裝一些變量屬性和靜態(tài)方法,被TankClient類調(diào)用來實(shí)現(xiàn)坦克的一系列動(dòng)作Tank類主要方法如下:1.getRect<>方法publicRectanglegetRect〔{ReturnnewRectangle〔x,ythis.WIDTH,this.HEIGHT}Rectangle類是碰撞檢測的輔助類,通過得到子彈x,y的坐標(biāo)。檢測是否碰撞.2.draw〔方法:負(fù)責(zé)將所有的活動(dòng)在屏幕上畫出來;3.move〔方法:主要負(fù)責(zé)坦克的移動(dòng),包括八個(gè)方向的控制以及坦克一個(gè)移動(dòng)速度;4.boolean<>方法:設(shè)定鍵盤事件??刂铺箍艘苿?dòng)5.KeyRelesed〔方法:處理按鍵抬起事件,安"J"鍵時(shí),發(fā)射普通炮彈。抬起"K"鍵發(fā)射超級(jí)炮彈6.locationDirection〔方法:定義炮筒的方向,可以向八個(gè)方向發(fā)射炮彈7.fire〔方法:處理發(fā)送子彈的方法;Missile類的基本功能分析Missile〔子彈類和Tank類一樣,只封裝一些變量屬性和靜態(tài)方法,主要包括:子彈的大小,運(yùn)動(dòng)的速度,Missile類持有一個(gè)TankClient類的引用tc,TankClient類要執(zhí)行發(fā)射炮彈操作是調(diào)用Missile類中的方法。Missile類中的方法主要如下:1.draw〔方法:負(fù)責(zé)畫出子彈的所有活動(dòng)2.move〔方法:先判斷方向在移動(dòng)。并且給一定的移動(dòng)速度。3.個(gè)頭Rect方法:負(fù)責(zé)取得子彈的方形,為碰撞做準(zhǔn)備;4.hitTank〔方法:檢測子彈是否撞到坦克撞到返回ture,否則返回false。BaoZha類的基本功能分析BaoZha〔爆炸類也是封裝自己的變量和方法的外部包裝類,沒有main方法,供TankClient主類需要時(shí)調(diào)用它的draw〔方法,當(dāng)子彈擊中坦克是需要產(chǎn)生爆炸。下面是爆炸的圖片:綜合實(shí)訓(xùn)過程中遇到的問題及解決方法遇到的問題:炮彈不消失坦克出界解決方案:加入控制炮彈生死的量live〔Missile當(dāng)炮彈死去的就不需要對其重畫當(dāng)炮彈飛出邊界就消失但炮彈死亡就從界面上消失本次綜合實(shí)訓(xùn)中的收獲及體會(huì)學(xué)習(xí)java兩個(gè)學(xué)期來,有自己的一些見解。Java是面向?qū)ο蟮?具有平臺(tái)無關(guān)性,現(xiàn)在被廣泛應(yīng)用很多領(lǐng)域。也是因?yàn)槔蠋熢陂_始講課是給我們講解過,所以有興趣去學(xué)習(xí)java程序設(shè)計(jì)。首先要明白Java體系設(shè)計(jì)到得三個(gè)方面:J2SE,J2EE,J2ME〔KJAVA。J2SE,Java2PlatformStandardEdition,我們經(jīng)常說到的JDK,就主要指的這個(gè),它是三者的基礎(chǔ),屬于桌面級(jí)應(yīng)用開發(fā),這部分如果學(xué)得好很容易拓展J2EE和J2ME。J2ME,TheMicroEditionoftheJava2Platform。主要用于嵌入式Java,如手機(jī),PDA等等。J2EE,Java2Platform,EnterpriseEdition,就是所謂的企業(yè)級(jí)Java,適合企業(yè)的大型應(yīng)用開發(fā)。我感覺學(xué)習(xí)java應(yīng)該是循環(huán)漸進(jìn),有始有終,按部就班,腳踏地.java是一門有著階梯性的一門語言,如果要學(xué)習(xí)它.我覺得最好還是按照java的學(xué)習(xí)體系,先學(xué)習(xí)什么,在學(xué)習(xí)什么,只有這樣,我們在學(xué)習(xí)中才會(huì)遇到更少的麻煩.感覺java是一門更傾向于網(wǎng)絡(luò)的語言.不要上來就學(xué)習(xí)JSP,這樣不好,因?yàn)檫@沒有基礎(chǔ).在以后的學(xué)習(xí)中很可能遇到很多的麻煩,這就不好了.信心,恒心,毅力是最重要的.這是我們必須具備的心理素質(zhì).要是學(xué)習(xí)這門語言開始的時(shí)候很有興趣,遇到苦難就退縮,這樣最終會(huì)放棄學(xué)習(xí)java,沒有經(jīng)歷風(fēng)雨怎么見彩虹.編程就是有的時(shí)候就是那么.會(huì)遇到很多的困惑.但是一旦你弄懂了,或者是你把問題解決了,你會(huì)感到很興奮,編程的快樂就在此了。多看看一些資料,多多的向高手請教,這樣才好.要學(xué)會(huì)總結(jié)和領(lǐng)會(huì).,當(dāng)然,學(xué)習(xí)java一個(gè)人有一個(gè)人的想法,也有自己的獨(dú)學(xué)習(xí)方法.總之適合自己的就是最好的,要聽老師講的,理解他的思路,然后試著寫老師講的代碼,不會(huì)的時(shí)候可以看看老師的代碼,關(guān)鍵是要知道代碼為什么這樣寫,還要學(xué)會(huì)檢查異常,解決異常,這一點(diǎn)也很重要。我覺得我學(xué)習(xí)這么多天,就是寫代碼,改錯(cuò)。代碼寫的多了,自然就知道該怎么寫了。本系統(tǒng)基本實(shí)現(xiàn)了坦克游戲的可玩性,希望自己以后多做這方面的練習(xí)對本課程教學(xué)的建議從打開始我們軟件〔2班的所有同學(xué)都上過魏曉東老師您的課?,F(xiàn)在又有你教的java課。說是對本課程教學(xué)的一點(diǎn)建議。其實(shí)還真的找不出本課程中教學(xué)中老師您教學(xué)的任何毛病。只能說說我對java課程學(xué)習(xí)的一些要求及和別人分享下java學(xué)習(xí)中的一點(diǎn)心得。在課程教學(xué)中,我們要跟上老師的步伐。要積極在老師的分享java題目中理解。并且能向更高層攀爬。要積極的抄寫代碼。也正如老師說的。在抄寫代碼的過程中學(xué)會(huì)理解。然后把書或資料蒙上,也能寫出來。這樣就可以在學(xué)習(xí)中進(jìn)步,才能更好的在學(xué)習(xí)java中發(fā)展下去。其次要多問問老師及同學(xué),這是在所有學(xué)習(xí)知識(shí)中不可缺少的一部分。我們之所以能學(xué)習(xí)。那不是天生的,而是一步一步的在不斷聽取別人意見中改變的。所以這樣的要求也是不可或缺的。這也不需要我多加申明。我想每個(gè)人都有不一樣的經(jīng)歷但有相同的體會(huì)。還有下面我想對學(xué)校課程安排上的一些建議。就是在我們安排的課程表上你會(huì)發(fā)現(xiàn)所有的java課都在同一天的下午。4節(jié)連堂感覺壓力很大。而且都是上機(jī)課。這讓我們身上在加了一座山。這對本來視力不太好的我也是一個(gè)打擊。我想對老師也是一種考驗(yàn)。不僅要考慮我們的感受。想我們能不能接受這課程的內(nèi)容,還有就是自己精力的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論