想设计题目基于JAVA坦克大战游戏_第1页
想设计题目基于JAVA坦克大战游戏_第2页
想设计题目基于JAVA坦克大战游戏_第3页
想设计题目基于JAVA坦克大战游戏_第4页
想设计题目基于JAVA坦克大战游戏_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

术进行刷新。将在游戏开始时进行初始化,并随屏幕刷新的频率而移动。 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,目程序可行性研 可行性分 系统可行 技术可行 经济可行 操作可行 的发 系统的现实意 系统特 Java、C语言、C++主流技术比 本章小 系统运行环境及技术功能需求分 系统运行环 系统运行的软件环 系统运行的硬件环 系统功能需 主界面人性化功 人机对战模式功 网络对战模式功 联机通信机 本程序需解决的有关技术问 本章小 系统概要设 系统功能设 3.1.1大战总体功能设 3.1.2类基本功能分 3.1.3类基本功能分 Missile类基本功能分 Explode类基本功能分 服务器类基本功能分 信息传送类基本功能分 本章小 系统详细设 游戏主窗体实 单机游戏的实 联机功能实 网络模式主要代 本章小 结 课程设计总 本程序需解决的有关技术问 展 致谢 参考文 人类进入21世纪,全球,互联网就起到重要的作用,而且随着互联网Java对开发网络产品有它自己独特的优势,也是其开发产物JavaeclipseTCP/UDPSocketC/SJDK5.0虚拟环境和eclipse3.2共同完成,无需复杂的工具和服务器支持。40本系统的大战是基于Java语言设计开发的,具有高超的人工智能,精每次电脑方有10辆,游戏以消灭全部敌方过关为目的。游戏进行了后屏幕左上方显示游戏状态,当玩家方数全为零时则游戏结束一般只可在空地中或草丛中行走,不可通过墙面等物玩家的游戏资格和电脑不同Java语言是一种跨平台,适合于分布式计算环境的面向对象编程语言。JAVA现在主要用在WEB开发,游戏及一些平台游戏的开发,因为它具有很 上比CCCJAVAC应用程序,比如数据库管理系统。C++语言在提供强大的功能的同时也提高了BUGC++CC,使得自身仅仅成为了带类的CJavaCC++三种主流编程技术比Java网络服务器操作系统:WindowsXP开发工具:eclipse3.2运行环境:J2SDK1.6编程语言:JavaCPU:In或者兼容微处理器,奔腾166MHz及其以上32MB,JavaApplication;48MB,JavaApplet;内存不足,将会导致系统(尤其是服务器)的性能大硬盘:242MB80GB网卡:普通网卡,3ComOfficeConnect10/100玩家控制的能够四处移玩家控制的能够打击敌敌人能够任意移玩 能够增长生C/S户端。Socket(中文意思为插座),Soctet2.1在Socket 在Socket Socket Socket2.1SoctetSocket对象,Socket类有几个构造函数。两个常用的构造函数是Socket(InetAddressaddr,intport)和Socket(Stringhost,intport),两个构造函数都创建了一个基于Socket的连接服务器端流套接字的流套接字。两个函数都通过参数port获得服务器的端。假设已经建立连接了,网络API将在客户端基于Socket的流套接字中客户程序的IP地址和任意一个 ,否则两个函数都会抛出一个IOException对象。如果创建了一个SocketSocketgetInputStream()方法从服务程SocketgetOutputStream()close()方谨,需将所有可能发生的及意外情况考虑在设计中MIDP2.0game利用Java的多线程能力为每一个地方开辟一个线程以便能让其独KVM则和Java的优势。同时,地图关卡不宜保存在有限的内存中,而最好采取需要进行适当的设计。记录分数 方式也需要有较好的解决方案 由于处理器和内存空间、空间都十分有限,其数据库系统与普通PC大相径RMSJavaGraphicsJava去。GraphicsJava.awtGraphicsdraw()drawString(String),drawLine()Eclipse3.2eclipse(删除)还有是对一些技术理论,J2SE,JavaJava3.1.1大战总体功能设ID3.1对战对战 图3.1网络大战游戏流3.1.2类基本功能分类是整个系统的部分,它承担整个系统的所有可实现功能的调度工作。是整个游戏运行的场所。类设计流程图,如图3.2碰撞检测发 图3.2类设计流类是主类,通过调用其他类中封装的方法来使整个系统运行 与各个类之间的关系如图3.3所示:NewNewNewNew类(Missile类(类(控 控移 移3.33.1.3类基本功能分()类中,封装了一些变量属性,包括自己的大制(dir)、生死控制(live)、好坏控制(good)的变量等。类中的主要方法罗getRect()publicRectanglegetRect()returnnewRectangle(x,y,this.WIDTH,}Rectangle类是碰撞检测的辅助类,通过得到的x,y坐标和宽高draw()keyReleased()方法:处理按键抬起,抬起“CTRL”键时,发射弹并加入新弹,能够逐一发射每一发弹、抬起“A”键可以发射超fire()方法:处理发送的方法bumpWithWall()方法:主要负责处理撞墙bumpWith()方法:主要到负责处理和相撞自己的大小(WIDTH,HRIGHT),运动速度(SPRRD_X:在x轴方向的速度;SPEED_Y:在Y轴方向的速度)、标示(ID)、所属的id号(Id用于网络版)等。Misslie类持有一 类(大管家) 类要执行发射弹操作时调用Missile类中的方法。Misslie类draw()方法:负责画出的所有活动;getRect()方法:负责取得的外切方形,为碰撞检测做准备;hitTan()方法:检测是否撞到,若撞到返回true,否则返回hit()方法:检测是否撞到一系列中的一个hitWall()方法:检测和墙是否相撞方法,供主类需要时调用它的draw()方法,当时需要产生。使用11张现实效果,如3.4图所示:图3.4erver(服务器)类主要负责在网络对战游戏时各个玩家的基本信息,并动态的玩家列表。联机模式下类关系图,如图3.5所示:NewNewerver类(NewExplode类(打3.5类负责画出游戏主窗体,它是整个游戏运行和所有活动的场类是整个系统的“大管家”,当要执行某动作时,“大管控制运动,相互对战,当被打中时产生一个,屏幕左上方显示游戏信息:数目(出界就)、数目、敌方数目、玩家生命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",}玩家可以使用超级弹,可同时向八个方向发射弹,效果如图4.3所图4.4发射超级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,用来转发游戏的数据。Server4.54.5Server4.64.6进入网络模式,输入信息:IP、Port,IP,Port;UDPPort4.74.7填写好玩家信息,登陆后游戏主界面,进入游戏后,通过玩家上方的基本信息,战数等,如图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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论