想設(shè)計題目基于JAVA坦克大戰(zhàn)游戲_第1頁
想設(shè)計題目基于JAVA坦克大戰(zhàn)游戲_第2頁
想設(shè)計題目基于JAVA坦克大戰(zhàn)游戲_第3頁
想設(shè)計題目基于JAVA坦克大戰(zhàn)游戲_第4頁
想設(shè)計題目基于JAVA坦克大戰(zhàn)游戲_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

術(shù)進行刷新。將在游戲開始時進行初始化,并隨屏幕刷新的頻率而移動。 Loginsystemwithvisualinterface,withagametohelp,thewritingoftheprogramcoversthebasicknowledgeofJ2SE,includingtherealizationofthetypicalencapsulation,inheritance,polymorphism,andcombiningwiththesocketnetworkprogramming,GUIgraphicaluserinterface.Projectintegrationwithsingleindividuals, ytwoStand-aloneachievewonderfulman-machineagainst,computershavethe ,intervalcontinuousattackbyabloodclot.Backdoordesignwascarriedoutonthegame, yerscaneasilythroughthewalltoattacktheenemy Onlinegamesastheserverhost needtostarttheserver,theservermainthreadreceives packetforwardingto andimplementreal-timeupdateoftheStartthegame,afterthemainthreadcallstheformobjectPaintmethodsfordrawing,picturewithdoublebufferingrefresh. beinitializedatthebeginningofthegame,andismovingalongwiththefrequencyofscreenrefresh. war,C/Snetworksystem,JAVA,Socketprogramming,目程序可行性研 可行性分 系統(tǒng)可行 技術(shù)可行 經(jīng)濟可行 操作可行 的發(fā) 系統(tǒng)的現(xiàn)實意 系統(tǒng)特 Java、C語言、C++主流技術(shù)比 本章小 系統(tǒng)運行環(huán)境及技術(shù)功能需求分 系統(tǒng)運行環(huán) 系統(tǒng)運行的軟件環(huán) 系統(tǒng)運行的硬件環(huán) 系統(tǒng)功能需 主界面人性化功 人機對戰(zhàn)模式功 網(wǎng)絡(luò)對戰(zhàn)模式功 聯(lián)機通信機 本程序需解決的有關(guān)技術(shù)問 本章小 系統(tǒng)概要設(shè) 系統(tǒng)功能設(shè) 3.1.1大戰(zhàn)總體功能設(shè) 3.1.2類基本功能分 3.1.3類基本功能分 Missile類基本功能分 Explode類基本功能分 服務器類基本功能分 信息傳送類基本功能分 本章小 系統(tǒng)詳細設(shè) 游戲主窗體實 單機游戲的實 聯(lián)機功能實 網(wǎng)絡(luò)模式主要代 本章小 結(jié) 課程設(shè)計總 本程序需解決的有關(guān)技術(shù)問 展 致謝 參考文 人類進入21世紀,全球,互聯(lián)網(wǎng)就起到重要的作用,而且隨著互聯(lián)網(wǎng)Java對開發(fā)網(wǎng)絡(luò)產(chǎn)品有它自己獨特的優(yōu)勢,也是其開發(fā)產(chǎn)物JavaeclipseTCP/UDPSocketC/SJDK5.0虛擬環(huán)境和eclipse3.2共同完成,無需復雜的工具和服務器支持。40本系統(tǒng)的大戰(zhàn)是基于Java語言設(shè)計開發(fā)的,具有高超的人工智能,精每次電腦方有10輛,游戲以消滅全部敵方過關(guān)為目的。游戲進行了后屏幕左上方顯示游戲狀態(tài),當玩家方數(shù)全為零時則游戲結(jié)束一般只可在空地中或草叢中行走,不可通過墻面等物玩家的游戲資格和電腦不同Java語言是一種跨平臺,適合于分布式計算環(huán)境的面向?qū)ο缶幊陶Z言。JAVA現(xiàn)在主要用在WEB開發(fā),游戲及一些平臺游戲的開發(fā),因為它具有很 上比CCCJAVAC應用程序,比如數(shù)據(jù)庫管理系統(tǒng)。C++語言在提供強大的功能的同時也提高了BUGC++CC,使得自身僅僅成為了帶類的CJavaCC++三種主流編程技術(shù)比Java網(wǎng)絡(luò)服務器操作系統(tǒng):WindowsXP開發(fā)工具:eclipse3.2運行環(huán)境:J2SDK1.6編程語言:JavaCPU:In或者兼容微處理器,奔騰166MHz及其以上32MB,JavaApplication;48MB,JavaApplet;內(nèi)存不足,將會導致系統(tǒng)(尤其是服務器)的性能大硬盤:242MB80GB網(wǎng)卡:普通網(wǎng)卡,3ComOfficeConnect10/100玩家控制的能夠四處移玩家控制的能夠打擊敵敵人能夠任意移玩 能夠增長生C/S戶端。Socket(中文意思為插座),Soctet2.1在Socket 在Socket Socket Socket2.1SoctetSocket對象,Socket類有幾個構(gòu)造函數(shù)。兩個常用的構(gòu)造函數(shù)是Socket(InetAddressaddr,intport)和Socket(Stringhost,intport),兩個構(gòu)造函數(shù)都創(chuàng)建了一個基于Socket的連接服務器端流套接字的流套接字。兩個函數(shù)都通過參數(shù)port獲得服務器的端。假設(shè)已經(jīng)建立連接了,網(wǎng)絡(luò)API將在客戶端基于Socket的流套接字中客戶程序的IP地址和任意一個 ,否則兩個函數(shù)都會拋出一個IOException對象。如果創(chuàng)建了一個SocketSocketgetInputStream()方法從服務程SocketgetOutputStream()close()方謹,需將所有可能發(fā)生的及意外情況考慮在設(shè)計中MIDP2.0game利用Java的多線程能力為每一個地方開辟一個線程以便能讓其獨KVM則和Java的優(yōu)勢。同時,地圖關(guān)卡不宜保存在有限的內(nèi)存中,而最好采取需要進行適當?shù)脑O(shè)計。記錄分數(shù) 方式也需要有較好的解決方案 由于處理器和內(nèi)存空間、空間都十分有限,其數(shù)據(jù)庫系統(tǒng)與普通PC大相徑RMSJavaGraphicsJava去。GraphicsJava.awtGraphicsdraw()drawString(String),drawLine()Eclipse3.2eclipse(刪除)還有是對一些技術(shù)理論,J2SE,JavaJava3.1.1大戰(zhàn)總體功能設(shè)ID3.1對戰(zhàn)對戰(zhàn) 圖3.1網(wǎng)絡(luò)大戰(zhàn)游戲流3.1.2類基本功能分類是整個系統(tǒng)的部分,它承擔整個系統(tǒng)的所有可實現(xiàn)功能的調(diào)度工作。是整個游戲運行的場所。類設(shè)計流程圖,如圖3.2碰撞檢測發(fā) 圖3.2類設(shè)計流類是主類,通過調(diào)用其他類中封裝的方法來使整個系統(tǒng)運行 與各個類之間的關(guān)系如圖3.3所示:NewNewNewNew類(Missile類(類(控 控移 移3.33.1.3類基本功能分()類中,封裝了一些變量屬性,包括自己的大制(dir)、生死控制(live)、好壞控制(good)的變量等。類中的主要方法羅getRect()publicRectanglegetRect()returnnewRectangle(x,y,this.WIDTH,}Rectangle類是碰撞檢測的輔助類,通過得到的x,y坐標和寬高draw()keyReleased()方法:處理按鍵抬起,抬起“CTRL”鍵時,發(fā)射彈并加入新彈,能夠逐一發(fā)射每一發(fā)彈、抬起“A”鍵可以發(fā)射超fire()方法:處理發(fā)送的方法bumpWithWall()方法:主要負責處理撞墻bumpWith()方法:主要到負責處理和相撞自己的大小(WIDTH,HRIGHT),運動速度(SPRRD_X:在x軸方向的速度;SPEED_Y:在Y軸方向的速度)、標示(ID)、所屬的id號(Id用于網(wǎng)絡(luò)版)等。Misslie類持有一 類(大管家) 類要執(zhí)行發(fā)射彈操作時調(diào)用Missile類中的方法。Misslie類draw()方法:負責畫出的所有活動;getRect()方法:負責取得的外切方形,為碰撞檢測做準備;hitTan()方法:檢測是否撞到,若撞到返回true,否則返回hit()方法:檢測是否撞到一系列中的一個hitWall()方法:檢測和墻是否相撞方法,供主類需要時調(diào)用它的draw()方法,當時需要產(chǎn)生。使用11張現(xiàn)實效果,如3.4圖所示:圖3.4erver(服務器)類主要負責在網(wǎng)絡(luò)對戰(zhàn)游戲時各個玩家的基本信息,并動態(tài)的玩家列表。聯(lián)機模式下類關(guān)系圖,如圖3.5所示:NewNewerver類(NewExplode類(打3.5類負責畫出游戲主窗體,它是整個游戲運行和所有活動的場類是整個系統(tǒng)的“大管家”,當要執(zhí)行某動作時,“大管控制運動,相互對戰(zhàn),當被打中時產(chǎn)生一個,屏幕左上方顯示游戲信息:數(shù)目(出界就)、數(shù)目、敵方數(shù)目、玩家生命4.24.3privatestaticToolkittk=Toolkit.getDefaultToolkit();privatestaticImage[]Images=null;privatestaticMap<String,Image>imgs=newImage>();//定義HashMap,又來盛裝的游戲用圖,8個方staticImages=newImage[]{ankL.gif")),//指定游戲用圖的文ankLU.gif")),//本項目中存放于項目文件之下的images包中imgs.put("L",imgs.put("LU",imgs.put("U",imgs.put("RU",imgs.put("R",imgs.put("RD",imgs.put("D",imgs.put("LD",}玩家可以使用超級彈,可同時向八個方向發(fā)射彈,效果如圖4.3所圖4.4發(fā)射超級switch(ptDir)caseL:g.drawImage(imgs.get("L"),x,y,null);caseg.drawImage(imgs.get("LU"),x,y,null);caseg.drawImage(imgs.get("U"),x,y,null);caseg.drawImage(imgs.get("RU"),x,y,null);caseg.drawImage(imgs.get("R"),x,y,null);caseg.drawImage(imgs.get("RD"),x,y,null);caseg.drawImage(imgs.get("D"),x,y,null);caseg.drawImage(imgs.get("LD"),x,y,null);}}ServerSocketserverTCP,UDP,用來轉(zhuǎn)發(fā)游戲的數(shù)據(jù)。Server4.54.5Server4.64.6進入網(wǎng)絡(luò)模式,輸入信息:IP、Port,IP,Port;UDPPort4.74.7填寫好玩家信息,登陸后游戲主界面,進入游戲后,通過玩家上方的基本信息,戰(zhàn)數(shù)等,如圖4.84.814.94.104.11importjava.io.DataInputStream;importjava.io.DataOutputStream;importjava.io.IOException;import.DatagramPacket;import.DatagramSocket;.InetSocketAddress;import.ServerSocket;import.Socket;.SocketException;importjava.util.ArrayList;importjava.util.List;*游戲的服務*@author*publicclasserver{privatestaticintID=100;*TCP的端publicstaticfinalintTCP_PORT=8888;//TCP的端*UDP的端publicstaticfinalintUDP_PORT=6666;//UDP的端List<>s=newArrayList<**publicvoidstart()newThread(newUDPThread()).start();ServerSocketss=null;tryss=new}catch(IOExceptione){}while(true){//TCPSockets=null;trys=DataInputStreamdis=newStringIP=intudpPort=c=new(IP,udpPort);DataOutputStreamdos=new//System.out.println("AConnect!Addr-+s.getInetAddress()+":"++"----UDPPort:"+}catch(IOExceptione){}finallyif(s!=null){try{s=null;}catch(IOExceptione){}}}}}publicstaticvoidmain(String[]args){ }privateclass{StringIP;intpublic(StringIP,intudpPort){this.IP=IP;this.udpPort=}}privateclassUDPThreadi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論