




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JavaSE6项目开发培训视频局域网坦克大战
课程安排开发背景系统分析系统设计游戏设计框架分析
服务器端框架设计
服务器线程与代理线程的开发
客户端框架设计
客户端代理线程的开发
课程安排(续)公共类的开发
绘制线程的开发
服务器端游戏主面板的开发与设计知识点汇总
章末总结开发背景随着游戏产业的迅速发展,新游戏一个接一个的不断出现,游戏的类型也是多种多样,如竞技类、对战类、合作类、角色扮演类等等。如果读者是学生的话也许会注意到,宿舍里玩的合作类小型游戏大多是两个人在一台机器上,如果想不在一台机器上,则可能需要上网寻求第三方服务器的支持。
系统分析
1、对连接的要求游戏可以分成服务器端和客户端。
服务器端可以自行输入服务端口号及玩家姓名即可启动服务器,等待客户端连接
。客户端可以通过确定的IP地址及端口号连接到服务器。
连接成功后都应该有相应的提示信息。
系统分析(续)2、对游戏中各种状况的要求
游戏的开始由服务器决定。客户端及服务器端在游戏中都可以随时退出游戏和停止服务,但必须有相应的提示信息。
游戏中应该有生命值剩余情况的提示信息
。
有得分信息
系统设计系统分析确定了本系统的最终目标,系统结构如下图所示:局域网坦克大战服务器端客户端建立游戏开始游戏绘制游戏画面接收主机数据控制主机坦克控制电脑坦克控制子弹绘制游戏画面向客户端传递数据加入游戏控制副机坦克接受客户端数据系统预览这一节将对本系统各功能进行演示。游戏设计框架分析游戏中开发的类比较多,为了让读者更好的理解,下面将分成三大块进行介绍:公共类、服务器端类、客户端类,下面将逐一进行简要介绍。关于这些类的详细代码及介绍在后面会相继介绍
游戏设计框架分析(续)1、公共类简介
坦克类Tank.java
该类包含着坦克的所有相关属性信息,同时也包括坦克的一些方法,如前进的方法,绘制的方法,返回其所在矩形的方法等等。
子弹类Bullet.java。
该类包含着关于子弹的相关信息,同时也包含其一些游戏中用到的重要方法,如移动的方法,绘制子弹的方法等
地图类WarMap.java。 该类包含着地图的相关信息,其实这里的地图就一个简单的二维数组
游戏设计框架分析(续)2、服务器端类
服务器主框架类TankServer.java。
该类是服务器端的主类,用户通过运行该类进入游戏,通过该类建立游戏及控制游戏子弹类Bullet.java。
服务器线程类ServerThread.java。 服务器通过该线程类等待客户端的连接,并且连接到来后为其提供服务线程,即服务器代理线程,该线程下面会进行简单介绍
服务器代理线程ServerAgentThread.java
。 该线程用于接收客户端传来的信息,根据信息执行不同的动作,如客户机加入和离开的消息,改变游戏模型的消息等。
游戏设计框架分析(续)2、服务器端类(续)服务器端游戏主面板ServerWar.java。
该类实际上是服务器端最主要的一个类,该类不仅维护着服务器端的游戏模型,拥有改变模型的相应方法,而且该类还要将游戏模型的变化及时的传递给客户端。服务器端绘制线程PaintThread.java。
该线程主要用于控制游戏的定时重绘,将游戏模型及时的展现在用户面前
游戏设计框架分析(续)3、客户端类
客户端主框架类TankClient.java
。
该类是客户端的主类,客户端通过运行该类进入游戏,连接主机并控制游戏客户端代理线程ClientAgentThread.java
。 该类负责接收服务器端传来的信息,并跟据信息的内容执行不同的动作,如根据信息及时的改变游戏模型,或者是主机离开的提示信息等等。
游戏设计框架分析(续)3、客户端类(续)客户端游戏主面板ClientWar.java
。
该类是客户端最主要的一个类,客户端代理线程就是通过调用这个类改变游戏模型,同时该类还负责将客户端的变化及时地传递给服务器端。
客户端绘制线程CPaintThread.java。
该线程与服务器端的绘制线程完成同样的任务,就是定时的重绘游戏画面,将模型的变化及时的展现给玩家。
游戏设计框架分析(续)游戏框架图
游戏设计框架分析(续)服务器端框架设计
从这一节开始将正式进入游戏代码的开发过程,游戏的开发前期可能很枯燥,希望读者能够坚持度过这一关,后面会越来越有趣。服务器线程与代理线程的开发
通过上面几节的介绍,读者应该了解了服务器线程的作用,该线程主要就是等待客户端的连接,并为连接的客户端分配一个服务器代理线程,该线程应该从服务器建立游戏开始运行
客户端框架设计
前面几节已经完成了服务器端框架的开发,如果没有错误的话,服务器已经可以接收客户端的连接了,为了验证服务器的正确性,从本节开始将暂时进入客户端的开发
客户端代理线程的开发
客户端已经可以连接到服务器了,但此时双方仍然不能够进行通话,主要原因是客户端这边还没有开发接收信息的类,即客户端代理线程
公共类的开发
既然是坦克大战,当然就离不开坦克,离不开子弹,再有就是地图,下面将开始进行这些公共类的开发。绘制线程的开发
下面主要介绍游戏中用于控制重绘的两个辅助线程类的开发,即前面介绍的服务器端绘制线程PaintThread.java和客户端绘制线程CPaintThread.java,这两个类的作用是定时的对主窗体进行重绘,更新视图。
知识点汇总
游戏框架的开发知识:每一类型的游戏都有一套开发的框架,本游戏当然也不例外,开发者应该在以后的学习中多多研究这些框架,对其灵活使用。这样对于类似的游戏可以进行熟练的开发
网络套接字的开发方法:这是本章的一个最重要的知识点,也是作为Java开发者必须熟练掌握的,因为现在基于网络的应用非常多,而且C/S架构的应用在现在仍然占据着非常重要的地位
知识点汇总游戏模型的设计方法,游戏中各个元素都是一个类,这也是面向对象的开发的一种具体表现,游戏中的坦克、子弹、地图都是一个,这样有利于更好的管理
。
游戏通信方法的相关知识,网络游戏必然要涉及到信息的传递,传递的方案很多,本游戏是通过字符串进行传递的
章末总结
通过前面的学习,读者应该对游戏的开发有了一定的了解,掌握了一些对实时性要求的解决方案,通过这个网络游戏的开发,读者应该能够熟练的进
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 逐步提升Web考试应试技巧
- 2024年汽车车速传感器项目资金需求报告代可行性研究报告
- 计算机四级信息安全真题
- 2024年高性能单镜头反光照相机资金申请报告代可行性研究报告
- 攀枝花盐边县2025年八年级《语文》上学期期末试题与参考答案
- 脑机接口技术在军事训练中的临床试验协议
- 微信小程序电商代运营及客户体验优化合同
- 时尚网红奶茶连锁品牌区域代理权授予及运营辅导协议
- 网络工程师考试亮点与问题
- 教育机构品牌授权合作协议
- 奇妙的剪纸艺术(欣赏)-完整版课件
- 中医学理论-筋膜学与人体经络共120张课件
- 剪力墙结构设计实例讲解共74张课件
- 连杆锤锻模设计说明书
- 北京市供热系统节能技术改造项目节能量测试办法
- 风电项目设备物资采购计划
- 核磁共振波谱法之氢谱解析
- 唐诗三百首word版
- 二次函数集体备课活动记录(2)
- 硬笔书法考级专用纸(4—5级)
- 旅游景区财务制度及流程
评论
0/150
提交评论