没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
21页
基于Java的坦克大战游戏的设计与实现 摘要:随着人们对生活质量的要求一天比一天高,为了让人们更好地开掘自身的智慧,游戏就此进入了大众的视野,在人们的生活中有着重要的位置,已然变得必不可少。游戏产业推动高新技术不断升级,极大地促进了经济的增长,推动了“第四产业”的经济腾飞。坦克大战游戏是童年时期经常玩的经典游戏,我们对它都十分了解。游戏通过分析JAVA游戏开发和代码设计,用Eclipse软件开发了坦克大战游戏,运用接口技术,使一个类能够实现多个接口,使用套接字Socket来完成client端和server端的连接。玩家通过连接访问进入游戏,通过操纵坦克来守卫基地,玩家还可以获得超级武器来提升坦克的属性,摧毁全部敌方坦克来取得胜利,操作非常简单,还具有非常高的普遍率,适合所有人群玩。该游戏既满足了人们的个性化需求,也让玩家在游戏过程中丢掉烦恼,尽情地释放压力。 关键词:Java 坦克大战游戏 Socket
资源推荐
资源详情
资源评论
目 录
1.引言......................................................................................................................................1
2.系统分析..............................................................................................................................2
2.1 需求和技术分析...............................................................................................................2
2.2 功能分析...........................................................................................................................2
3.总体设计..............................................................................................................................2
3.1 总体功能...........................................................................................................................2
3.2 坦克大战总体流程图.......................................................................................................4
4.详细设计..............................................................................................................................5
4.1 面板功能设计...................................................................................................................5
4.2 子弹功能设计...................................................................................................................8
4.3 坦克功能设计...................................................................................................................9
4.4 服务器设计.....................................................................................................................10
4.5 客户端设计.....................................................................................................................13
5. 游戏测试..........................................................................................................................15
5.1 测试方法 ........................................................................................................................15
5.2 系统测试 ........................................................................................................................15
5.3 测试分析和小结 ............................................................................................................17
6.结论....................................................................................................................................18
参考文献...............................................................................................................................18
1
基于 Java 的坦克大战游戏的设计与实现
摘要:随着人们对生活质量的要求一天比一天高,为了让人们更好地开掘自身的智慧,游戏
就此进入了大众的视野,在人们的生活中有着重要的位置,已然变得必不可少。游戏产业推动高
新技术不断升级,极大地促进了经济的增长,推动了“第四产业”的经济腾飞。坦克大战游戏是童
年时期经常玩的经典游戏,我们对它都十分了解。游戏通过分析 JAVA 游戏开发和代码设计,用
Eclipse 软件开发了坦克大战游戏,运用接口技术,使一个类能够实现多个接口,使用套接字 Socket
来完成 client 端和 server 端的连接。玩家通过连接访问进入游戏,通过操纵坦克来守卫基地,玩
家还可以获得超级武器来提升坦克的属性,摧毁全部敌方坦克来取得胜利,操作非常简单,还具
有非常高的普遍率,适合所有人群玩。该游戏既满足了人们的个性化需求,也让玩家在游戏过程
中丢掉烦恼,尽情地释放压力。
关键词:Java 坦克大战游戏 Socket
1.引言
随着社会和时代的进步,来自各个方面的压力让人没精打采,为了分解人们的压力,休养那
变得疲顿的头脑和劳累的身心,特设计了坦克大战小游戏,游戏操作非常容易,只要将手指放在
键盘上敲击相关的游戏键就可以玩,在玩游戏的过程中能够体验现实生活中没有的快乐,既有利
于身心健康,又不会影响工作和学习。本游戏采用的是基于 J2SE 标准平台的 java 编程技术,在
Windows 7 操作系统中使用 Eclipse 软件进行代码编译,通过方法 Graphics()来进行游戏地图界
面的绘制,使用了接口技术使一个类能够实现多个接口,使用套接字 Socket 来完成 client 端和
server 端的连接。
Java 是一项面向对象编程语言,既包含了 C 语言的全部优点,又具有面向对象,跨平台性,
安全性等特点,是现在程序设计中较为常用的编程语言。Java 具备了“一次编译,处处运行”的特
点,很好的体现了其跨平台性和面向对象的特点,允许程序员用感性的思路来进行繁杂的编程。
Eclipse 是一个基于 java 的开放源代码的可扩展开发平台,是知名的跨平台的自由集成开发环
境(IDE)Eclipse 是一个基于,还捎带了一个标准规范的插件集,包含了 Java 开发工具(JDK),
Eclipse 因为安装不同的插件,所以它支持不同的计算机语言,主要用来 Java 语言开发。
Graphics 类是软件包 java.awt(其全部类都用来用户界面的创建和图形图像的绘制)下的类,
它同意一个应用程序绘制到组件,以及在屏幕图像上进行绘制。Graphics 对象封装了 Java 支持的
基本呈现操作所需的状态信息。Graphics()方法构造了一个新的 Graphics 对象, 由于 Graphics
类是抽象类,因此 Graphics()方法不可以被直接调用,此构造方法是图形上下文的默认构造方
法,通过在组件上调用 getGraphics() 来创建图形上下文,或者从其他图形上下文获取。
2.系统分析
2.1 需求和技术分析
如今的游戏已经成为世界上最大的娱乐休闲项目之一,游戏市场规模持续增长,潜力巨大,
2
我国政府一向以来都特别鼓励游戏产业的发展,特别是我国当地的游戏产业,扶持力度连年加大,
由此可见,我国对游戏产业的重视程度。该坦克大战游戏是对红白机经典 90 坦克大战的延续,对
于 80 后,90 后来说,都是童年里最宝贵的回忆,而 80 后,90 后恰好占据着当今游戏人群的主体,
对于他们来说,该坦克大战游戏不仅可以减轻人们的社会压力,放松身心,也可以回味小时候玩
红白机游戏的疯狂时光,又不会沉迷于游戏,老少咸宜,能够更好地体验游戏的乐趣。
该程序代码有着贼高的运用率,因此,设计时必须要有相当缜密的逻辑条理思维,还要考虑
一些无法操控的因素和所有可能出现的突发事件。
(1)玩家能够通过敲击游戏键来操纵玩家坦克的动作,但对于敌方坦克来说,就要有第一定
的自主性和智能型,因为是自动运行。同时,屏幕上的敌方坦克需要开创一个线程让其自主运行
来应对数量过多而导致的混乱。要精密设置敌方坦克的操作运行算法,不要使游戏太过单一。
(2)要对所有坦克打出的子弹进行实时监测并判断它打到了什么物体对象,因此需要开辟一
个独立的线程来处理子弹,还需要控制好所有的物体对象。在同一时候,在 JVM 虚拟机上保持运
行这么多的线程,可能会造成程序的迟钝,甚至瘫痪。
(3)由于游戏界面中物体对象繁多,为了避免重叠运行,玩家坦克在前进时需要时刻地扫描
周围环境。
(4)游戏的动态画面是一个优秀程序不可缺少的组成成分,精美的用户界面是引起玩家兴趣
的关键,相关的构图美化技术也需要有所考虑。
(5)在游戏地图中会有许多各种不同的物体对象,这不是绘图方法能够解决的,而且过多的
大型 photo 会束缚程序的大小,所以要准确掌握 Graphcis()方法的使用。同时使用读取外部文件的
方法来加载游戏关卡,因为内存有限,不适合用于存储地图关卡。
(6)游戏要对玩家的分数进行记录,这就需要对其功能和属性进行妥善的策划,还需要制作
良好的解决方案来处理其存储方式。
(7)为了确保游戏程序的运行顺畅,需要对结构进行严格把控,将算法完善得更精准,还可
以运用混淆器对打包后的软件程序进行优化。
2.2 功能分析
该坦克大战选择使用以往的游戏规矩。服务器端创建并设置一个主机,客户端申请连接加入,
若其 IP 输入判断无误,载入地图关卡并开始游戏,在游戏界面中,会实时显示敌方坦克数量和玩
家坦克的生命数量及分数。敌方坦克自行移动和打出子弹,玩家通过敲击键盘来操控自己坦克的
动作并打出子弹,子弹无法打中相同阵营的坦克,当两方阵营的子弹相交时会相互抵消,打中对
方坦克时会产生爆炸效果,中途可以暂停、发送信息,玩家坦克吃掉超级武器后会赋予其特殊的
功能,在游戏地图界面中还同时游戏中还包含了通信功能。如果取得了胜利,会显示“你过关
了!”,如果失败了,则系统给出“GAME OEVR!还想再玩一次吗?(y/n)”的提示,如果玩家双
方都选择继续游戏,则游戏重新加载并开始,不然结束并退出游戏界面。
3.总体设计
3.1 总体功能
游戏由服务器端和客户端两部分组成。
在服务器端,ServerModel 类主要用来创建主机,ServerView 类主要负责服务器端图形界面的
面板信息的设置,ServerControler 类处理来自服务器视图框架的输入,包括创立通信与帮助信息
等,enemy 类主要负责敌方坦克的创建,player 类主要用来设置玩家的得分及其显示位置等信息,
3
drawingPanel 类主要负责服务器端界面窗口的创建和设置,powerUp 类主要用来设置子弹属性,
例如加快速度、提升火力等,feedbackHandler 类主要用来解码从客户端发来的指令字符串,再将
其转换成指令来判断游戏失败后玩家是否继续游戏的问题。
在客户端,ClientModel 类主要用来设置与服务器的连接,ClientView 类主要负责客户端端图
形界面的面板信息,ClientControler 类主要负责处理来自客户端视图框架的输入和创立通信与帮助
信息等,drawingPanel 主要用来设置客户端窗口界面,instructionHandler 类主要用来解码从服务器
端发来的指令字符串,再将其转换成指令来判断游戏失败后玩家是否继续游戏的问题,shield 类
主要负责设置坦克吃掉头盔图标获得保护时的状态,normalObject 类主要用来创建和描绘其他物
体对象。
在服务器端和客户端中都存在的类中,Actor 类主要用来创建接口,base 类主要用来创建基地
并设置属性,bullet 类主要用来创建子弹并设置属性,Ticker 类主要用来创建时间信息,bomb 类
主要用来创建子弹打出后产生的爆炸效果,river 类主要用来创建河道并设置属性,grass 类主要负
责创建草坪并设置属性,Steelwall 类主要用来创建铁墙并设置属性,wall 类主要用来创建和设置
普通墙及其属性,level 类负责创建关卡。如表 1,表 2 所示。
表 1 游戏服务器端各类功能表
ServerModel
创建主机
ServerView
设置服务器端图形界面的面板信息
ServerControler
处理来自服务器视图框架的输入
enemy
创建敌方坦克
player
设置玩家的得分及其显示位置等信息
drawingPanel
创建和设置服务器端界面窗口
powerUp
加快子弹速度并提升火力
feedbackHandler
判断指令并执行
Actor
创建接口
base
创建并设置基地
Ticker
创建并设置时间信息
bullet
创建子弹并设置属性
bomb
设置爆炸效果
river
创建河道并设置属性
grass
创建草坪并设置属性
Steelwall
创建铁墙并设置属性
wall
创建普通墙并设置属性
level
创建关卡
表 2 游戏客户端各类功能表
ClientModel
设置与服务器的连接
ClientView
设置客户端端图形界面的面板信息
剩余20页未读,继续阅读
资源评论
悠闲饭团
- 粉丝: 151
- 资源: 3303
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功