坦克大战项目总结_第1页
坦克大战项目总结_第2页
坦克大战项目总结_第3页
坦克大战项目总结_第4页
坦克大战项目总结_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、.1坦克大战项目总结坦克大战项目总结学员:叶 青:AF1305学号:12 指导老师:吴晓东.2 目录项目总体介绍项目总体介绍项目详细介绍项目详细介绍项目亮点项目亮点项目心得体会项目心得体会.3 起源:坦克大战(Battle City)是1985年日本南梦宫Namco游戏公司在任天堂FC平台上,推出的一款多方位平面射击游戏。游戏以坦克战斗及保卫基地为主题,属于策略型联机类。同时也是FC平台上少有的内建关卡编辑器的几个游戏之一,玩家可自己创建独特的关卡,并通过获取一些道具使坦克和基地得到强化。1.1 项目背景和开发意义.4对开发者的意义对开发者的意义:由于坦克大战具有较强数学性、逻辑性等,同时又富

2、有趣味性,开发起来乐趣无穷。因此,经常用来当做开发题材。并且该项目设计到网络,更能锻炼开发者的数据封包,规划等能力;卓越教育安卓课程第二阶段项目:卓越教育安卓课程第二阶段项目:基于java SE 高级的坦克大战: 复习Java 编程基础 熟练使用GUI 熟练使用多线程 熟练使用IO流 熟练使用网络开发 锻炼逻辑思维能力 掌握MVC的开发模式 学会bug的定位,查找,纠正1.1 项目背景和开发意义.5环境:环境:window xp系统工具:工具:Eclipse+Jdk1.61.2 开发环境开发环境.61.3、服务器界面介绍、服务器界面介绍初始化服务器admin*用户连接上来用户离开游戏.71.3

3、、客户端界面介绍、客户端界面介绍.81.3、客户端界面介绍、客户端界面介绍.91.3、客户端界面介绍、客户端界面介绍.101.3、客户端界面介绍、客户端界面介绍.111.4、坦克介绍、坦克介绍敌方坦克敌方坦克-重型坦克:重型坦克:敌方坦克敌方坦克-轻型坦克:轻型坦克:敌方坦克敌方坦克-道具坦克:道具坦克:我方坦克:我方坦克:.121.5、道具介绍、道具介绍奖励一架坦克奖励一架坦克让坦克无敌让坦克无敌8 8秒秒让基地周围产生铁,有效时间让基地周围产生铁,有效时间8 8秒秒加强坦克,加强坦克,2 2颗加快速度,颗加快速度,3 3颗可打铁颗可打铁让地图上所有坦克爆炸让地图上所有坦克爆炸让敌方坦克暂停

4、让敌方坦克暂停8 8秒秒.13 目录项目总体介绍项目总体介绍项目详细介绍项目详细介绍项目亮点项目亮点项目心得体会项目心得体会.142.1 MVC框架实现框架实现.152.1 服务端服务端MVC框架实现框架实现用于接受客户端数据,处理数据,边界判断等,然后将处理好的数据发送给客户端用于登陆认证,账号管理,修改信息,注册等功能用于坦克,子弹,道具,地图等类服务端界面.162.1 客户端客户端MVC框架实现框架实现用于监听键盘,然后发送消息,并且接受服务器数据,然后进行解析,数据赋值等功能用于坦克,子弹,道具,地图等类客户端游戏界面.172.2 游戏时序图游戏时序图.182.2 客户端流程图客户端流

5、程图.192.3 网络协议规划网络协议规划1、用户注册,登录,管理数据包、用户注册,登录,管理数据包2、游戏准备,开始阶段包、游戏准备,开始阶段包3、游戏过程数据处理包、游戏过程数据处理包.20用户注册,登录,管理数据包客户端服务端Login + 用户名 + 密码LoginAnswer : Success(或者fail_account、fail_password、fail_Online)登录包登录包Account_Check : 用户名User_Register_Account_Answer : success(fail)注册包注册包Register : 用户名等RegisterAnswer

6、: success(fail)管理包管理包SearchSearchAnswer : 查询到的信息deleteUserdeleteUser : Success(Fail)2.3 网络协议规划网络协议规划.21Up (Down、Left、Right、Launch、Stop、Continue)游戏过程数据处理包客户端服务端Map:地图信息(第一次全部地图,后面只发更新) + Tank:坦克数组信息 + Bullet :子弹数组信息 + Porp : 道具信息GameWin:WinGameOver:OverGameStop:yesGameContinue:yes2.3 网络协议规划网络协议规划.22

7、目录项目总体介绍项目总体介绍项目详细介绍项目详细介绍项目亮点项目亮点项目心得体会项目心得体会.23加入聊天,使游戏更具有娱乐性。实现方法:实现方法:在游戏区域使用gridLayout布局,在第3个格子处添加文本区域和文本框,并设置为透明,在文本框添加addActionlister,然后将消息直接放到arrayList发送给服务器,同时启用线程,使用户2秒发送一次消息;服务器不处理,只聊天消息跟在数据包后面转发3.1 项目亮点项目亮点-聊天功能聊天功能.243.1 项目亮点项目亮点-多端口多端口服务器启动时,将启动一个守护进程,和3个游戏端口。守护进程将专门用于管理玩家的登录,注册,验证,查询等

8、功能。当用户成功登录后,可以选择端口进行游戏,端口间互不影响。类似于游戏分区。实现方法实现方法:在服务端和客户端专门启用一个进程,然后创立socket,用于账号登录,管理,注册,然后这个进程调用3次游戏进程,每次传过去的端口不一样,然后用户登录后将端口发送过去,便可进行选择端口;.25当游戏过程中,其中一个玩家退出游戏后。此时,若游戏结束,则再连接到该端口的玩家自动匹配到该玩家,不必重新退出游戏再登录。若玩家游戏还没结束,则新连接进来的将重新分配新房间3.1 项目亮点项目亮点-匹配房间匹配房间实现方法实现方法:创建一个类继承arrayList,然后添加2个属性:是否满人,是否在游戏中;然后创建

9、个大厅(ArrayList),用于存放刚刚创建的类,创建小房间后就存入这个大厅,用户连接时,直接从这个大厅进行搜索房间,根据刚刚的2个属性。若搜索到则进入,否则创建新房间;.26 目录项目总体介绍项目总体介绍项目详细介绍项目详细介绍项目亮点项目亮点项目心得体会项目心得体会.27时间飞逝,不知不觉,2周的坦克大战项目过去了。同时,也不知不觉的敲了13000多行代码,在这2周多的时间里,每天都是在代码中度过,经常加班加点,梦里还时常分析算法,思考实现方法。但看着项目慢慢成型,有种喜悦的心情。在学习上:1、学会了分析问题,规划模型。2、通过多种想法去实现一个功能,然后取效率高的方法。3、学会了服务端与客户端之间的通信,包的规划,发包,解包等。在班级上:此次项目,大家都付出了努力,加班加点,早来晚归,大家沟通想法,解决一个又一个问题,慢慢的都在成长,相信有付出就会有收获。在这一次的项目实践中,我们都复习了jase的内容,并且熟练使用网络,流,线程等技术。但项目过程中还是遇到很多bug。例如:并发修改问题,socket连接错误,IO读取失败,json解析错误等等。但最后都慢慢找出原因,解决问题。本次项目更认识到,网络游戏

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论