Tank游戏需求分析兼项目计划发布!
项目计划
1. 编写目的
此需求文档旨在明确本游戏项目的详细规则和操作方法,供用户理解项目实现的具体功能,并作为项目详细设计开发的基础。
2. 项目背景
市面上游许多魔性小游戏,让广大玩家根本停不下来。坦克大战是家喻户晓的一款游戏,它能勾起许多人对儿童时代小霸王游戏机的回忆。通过改变其中的游戏规则,使它再度出现在大家的屏幕中,既有怀旧又有创新。
3. 项目目标
- 游戏规则简单,上手容易,趣味性强。
- 满足玩家在游戏中对反应速度和操作预判的竞技需求。
- 满足玩家在游戏中对挑战、求生和达成更高成就的心理需求。
- 单局时间短,可供用户消磨垃圾时间(如无聊的会议、等人…)。
4. 项目概述
项目实现了对经典坦克大战游戏的改编。将其关卡模式转变为“逃亡”模式。游戏将障碍物数目减少,坦克移动场景变得空阔。子弹遇到游戏边界或障碍物发生相应的碰撞反弹。玩家要需要在“枪林弹雨”中移动生存下去。同时,玩家可以通过发射子弹消灭其他坦克以获取分数提高排名。此游戏为用户提供了一个可以展示自己技艺的平台,让用户不仅能放松自己,还能感受到游戏带来的乐趣。
5. 游戏规则简介:
本游戏借鉴坦克大战的创意,加以改进。游戏中玩家操控自己的坦克躲避屏幕中来自自己和敌人的子弹,同时设法消灭对方,坚持时间越长得分越高。
下面介绍几项基本设置:
1.坦克操纵设置:坦克使用键盘操控,WASD控制移动,W前进,s后退,A和D控制左右转向,鼠标控制炮筒方向,单击发射子弹。(子弹每2s发一次)
2.子弹设置:子弹碰到障碍物及边缘反弹,不会消失,碰到别的子弹或者击中目标即会消失。
障碍物设置:游戏中仅简单放置几个障碍物,分散在地图上,每隔固定时间障碍物刷新,位置和形状可变。(障碍物可以是砖块,河流,草丛等等)
3.游戏难度设置:游戏初始较简单,设置一个敌人(敌人坦克子弹会相互抵消),子弹速度也相对较慢,随着游戏时间进行,敌人每隔一段时间增加一个,速度也相应加快,一定时间后相继出现快速坦克,隐形坦克等,敌人AI调节适当。
4.道具设置:地图中随机刷新某些道具(电脑也可以吃),初步设置以下几种道具:
防弹帽(无敌效果,维持一定时间);
多种星星(加命+子弹加强效果(打一次后全消失),一:子弹变快,二:发射多个,三:提前显示反弹三次前的子弹轨迹);
炸弹(清理屏幕所有子弹);
铁铲(可以自行添加一块障碍物,障碍物三次刷新后消失);
5.游戏结束:被打中后死亡,每次会记录最高分(时间+杀敌数)
6. 游戏的整体框架

一 游戏界面
1、 设置游戏标题
2、 TankBuffList与TanScore类继承自Windows类,用于显示坦克当前状态以及最高分、杀敌数和时间
3、 背景音乐响起
二 加载地图
1、 加载游戏开始页面,并按任意键开始游戏;
2、 创建TankObject父类,用于在地图上刷新创建障碍物,创建并初始化坦克
3、 加载游戏地图,游戏过程中不断刷新地图
4、 当我方坦克与敌方坦克碰撞时,我方坦克静止不动,敌方坦克改变方向;
5、 当我方坦克被消灭时,游戏结束。
三 玩家坦克
1、创建我方坦克类TankPlayer;
2、通过按键上下左右与J键控制坦克移动与开炮;
3、记录坦克此时状态(生命,弹药等等)
四 敌方坦克
【实验内容】
1、 创建敌方坦克TankEnemy类;
2、 实现坦克隔2秒,随机改变一个方向。
3、 实现坦克隔10秒发射一发子弹;
4、 当坦克与世界边界碰撞时,改变方向;
5、 记录坦克此时状态(生命,弹药等等)
6、 加入一些AI,如躲子弹
五 子弹
1、 创建子弹TankBullet类
2、 子弹正常飞行时沿直线传播
3、 实现子弹碰撞到边界或障碍物时,发生镜像反弹
4、 若击中坦克则子弹消失
5、 若子弹相撞则两个子弹都消失
六 障碍物
【实验内容】
1、 创建TankShelter类
2、 实现障碍物每30s改变一次位置与形态
3、 随机生成障碍物
七 游戏结束
【实验内容】
1、 当我方坦克被消灭时,游戏结束
2、 记录坚持时间与杀敌数,换算成本轮分数
3、 若分数在前几名则记录下该分数并显示
2016.10.19
Tank游戏需求分析兼项目计划发布!的更多相关文章
- 知名游戏引擎公司Havok发布免费3D移动游戏引擎“Project Anarchy”
自EA发布“寒霜”引擎(Frostbite Engine)移动版后,知名游戏引擎公司Havok也发布了免费的3D移动游戏引擎“Project Anarchy”. 据悉,6月底时候,Intel旗下知名游 ...
- CocosCreator上的游戏(调试)发布到微信小程序
1.下载CocosCreator,微信开发者工具 官网地址:http://www.cocos.com/download 官网下载:https://developers.weixin.qq.com/mi ...
- 如何临时发布部署Cocos小游戏到Linux服务器,让别人能在微信打开
两个星期前,我们发布了第一个小游戏教程: 教程:制作一个小游戏送给喜欢的TA(不会编程也能学会哦) 上周有好几位小伙伴在b站催更,呃,作为小透明,收到催更信息后还是很激动的!竟然有同学在看我们的小教程 ...
- [转] java开源游戏
收藏一下 triplea Triplea是一个开放源码的boardgame.它允许玩家选择各种各样的战略版图游戏(如:轴心国或同盟军).TripleA引擎支持联网对战,支持声音,支持使用XML文 ...
- Unity3D游戏在iOS上因为trampolines闪退的原因与解决办法
http://7dot9.com/?p=444 http://whydoidoit.com/2012/08/20/unity-serializer-mono-and-trampolines/ 确定具体 ...
- MoonWarriors-lua——《雷电战机》游戏-Lua移植版
MoonWarriors是一个使用Cocos2d-Html5引擎开发的类似雷电战机的游戏Demo,源代码发布在Cocos2d-x官网的引擎示例当中.MoonWarriors-lua是为了学习Cocos ...
- java学习之坦克大战游戏
总结:由于这几天快过年比较忙然后没怎么写,写代码途中一些经验总结现在给忘记了.这次的小项目感觉比上次写的思路清楚了点.没有之前第一次写那么逻辑混乱,结构也搞的比之前的要好,添加功能比较容易.学习了之前 ...
- 评论各组alpha发布
单纯从用户和体验者的角度来评价. 天天向上组的连连看游戏和新锋组的俄罗斯方块游戏,从alpha发布的成果完成度来看,两个游戏现在都可以玩,但连连看的完成度更高,可选背景,可选音乐.俄罗斯方块还有其他界 ...
- Unity3D 游戏在 iOS 上因为 trampolines 闪退的原因与解决办法
崩溃的情况 进入游戏一会儿,神马都不要做,双手离开手机,盯着屏幕看吧,游戏会定时从服务器那儿读取一些数据,时间一长,闪退了.尼玛问题是神马呢?完全没有头绪,不过大体猜测是因为网络请求导致的,那么好,先 ...
随机推荐
- 《C与指针》第七章练习
本章问题 1.具有空函数体的函数可以作为存根使用,你如何对这类函数进行修改,使其更有用? answer:Have the stub(存根) print out a message when it is ...
- WPA破解原理简要——无线网络破解续
一.破解密码的基础 关于密码的破解我再重复一次好了.密码破解就两大类方法.一是字典解密,而是暴力解密. 暴力解密就是采用穷举的方法——你密码是怎么组成的呢?无非就是数字.字母.符号,暴力解密就是采用一 ...
- <script>标签应该放到</body>标签之前
著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:贺师俊 链接:http://www.zhihu.com/question/20027966/answer/13727164 ...
- .Net操作Excel
先去官网:http://npoi.codeplex.com/下载需要引入dll(可以选择.net2.0或者.net4.0的dll),然后在网站中添加引用. .Net导出代码: /// <summ ...
- Rabbitmq集群高可用测试
Rabbitmq集群高可用 RabbitMQ是用erlang开发的,集群非常方便,因为erlang天生就是一门分布式语言,但其本身并不支持负载均衡. Rabbit模式大概分为以下三种:单一模式.普通模 ...
- FreeMarker模板引擎
现在开发的项目,也是基于SOA架构,每个功能接口都是用WebService实现,Web服务的通信协议就是用XML来传输. 以前写WebService都是自动生成XML,没想到这项目竟然要自己定义XML ...
- ios xmpp开发应用后台模式接收聊天信息处理方案
ios xmpp开发应用后台模式接收聊天信息 最近在使用xmppframwork来实现一个聊天应用,碰到了一个问题,应用进入后台以后,就接收不到消息了: 怎么样才能使应用被切到后台时,应用中的网络连接 ...
- 为什么在注册和注销的时候intent要改成隐式调用
显式意图:调用Intent.setComponent()或Intent.setClass()方法明确指定了组件名的Intent为显式意图,显式意图明确指定了Intent应该传递给哪个组件. 隐式意图: ...
- 9. Linux远程登录
1. 检查网络是否通畅 C:\Users\cfm>ping 192.168.232.131 正在 Ping 192.168.232.131 具有 32 字节的数据:来自 192.168.232. ...
- angularjs实现 checkbox全选、反选的思考
之前做了一周的打酱油测试,其实感觉其实测试也是上辈子折翼的天使. 好长时间没写代码,感觉好多都不会了. 感谢这周没有单休,我能看熬夜看奥运了.我能有时间出去看个电影,我能有时间出去逛个商城,我能有时间 ...