项目计划

1.   编写目的

此需求文档旨在明确本游戏项目的详细规则和操作方法,供用户理解项目实现的具体功能,并作为项目详细设计开发的基础。

2.   项目背景

市面上游许多魔性小游戏,让广大玩家根本停不下来。坦克大战是家喻户晓的一款游戏,它能勾起许多人对儿童时代小霸王游戏机的回忆。通过改变其中的游戏规则,使它再度出现在大家的屏幕中,既有怀旧又有创新。

3.   项目目标

  1. 游戏规则简单,上手容易,趣味性强。
  2. 满足玩家在游戏中对反应速度和操作预判的竞技需求。
  3. 满足玩家在游戏中对挑战、求生和达成更高成就的心理需求。
  4. 单局时间短,可供用户消磨垃圾时间(如无聊的会议、等人…)。

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游戏需求分析兼项目计划发布!的更多相关文章

  1. 知名游戏引擎公司Havok发布免费3D移动游戏引擎“Project Anarchy”

    自EA发布“寒霜”引擎(Frostbite Engine)移动版后,知名游戏引擎公司Havok也发布了免费的3D移动游戏引擎“Project Anarchy”. 据悉,6月底时候,Intel旗下知名游 ...

  2. CocosCreator上的游戏(调试)发布到微信小程序

    1.下载CocosCreator,微信开发者工具 官网地址:http://www.cocos.com/download 官网下载:https://developers.weixin.qq.com/mi ...

  3. 如何临时发布部署Cocos小游戏到Linux服务器,让别人能在微信打开

    两个星期前,我们发布了第一个小游戏教程: 教程:制作一个小游戏送给喜欢的TA(不会编程也能学会哦) 上周有好几位小伙伴在b站催更,呃,作为小透明,收到催更信息后还是很激动的!竟然有同学在看我们的小教程 ...

  4. [转] java开源游戏

    收藏一下   triplea  Triplea是一个开放源码的boardgame.它允许玩家选择各种各样的战略版图游戏(如:轴心国或同盟军).TripleA引擎支持联网对战,支持声音,支持使用XML文 ...

  5. Unity3D游戏在iOS上因为trampolines闪退的原因与解决办法

    http://7dot9.com/?p=444 http://whydoidoit.com/2012/08/20/unity-serializer-mono-and-trampolines/ 确定具体 ...

  6. MoonWarriors-lua——《雷电战机》游戏-Lua移植版

    MoonWarriors是一个使用Cocos2d-Html5引擎开发的类似雷电战机的游戏Demo,源代码发布在Cocos2d-x官网的引擎示例当中.MoonWarriors-lua是为了学习Cocos ...

  7. java学习之坦克大战游戏

    总结:由于这几天快过年比较忙然后没怎么写,写代码途中一些经验总结现在给忘记了.这次的小项目感觉比上次写的思路清楚了点.没有之前第一次写那么逻辑混乱,结构也搞的比之前的要好,添加功能比较容易.学习了之前 ...

  8. 评论各组alpha发布

    单纯从用户和体验者的角度来评价. 天天向上组的连连看游戏和新锋组的俄罗斯方块游戏,从alpha发布的成果完成度来看,两个游戏现在都可以玩,但连连看的完成度更高,可选背景,可选音乐.俄罗斯方块还有其他界 ...

  9. Unity3D 游戏在 iOS 上因为 trampolines 闪退的原因与解决办法

    崩溃的情况 进入游戏一会儿,神马都不要做,双手离开手机,盯着屏幕看吧,游戏会定时从服务器那儿读取一些数据,时间一长,闪退了.尼玛问题是神马呢?完全没有头绪,不过大体猜测是因为网络请求导致的,那么好,先 ...

随机推荐

  1. iOS 常用设计模式和机制之 KVC

    KVC 1  key Value Coding,键值编码,是一种间接访问实例变量的方法 2  KVC 提供了一种使用字符串(key)而不是访问器方法,去访问一个对象实例变量的机制 3  KVC 常用方 ...

  2. Dictionary 序列化与反序列化

    [转:http://blog.csdn.net/woaixiaozhe/article/details/7873582] 1.说明:Dictionary对象本身不支持序列化和反序列化,需要定义一个继承 ...

  3. ajax 开始的loading加载

    注意是异步加载方式 $.ajax({ beforeSend:function(){ $("#showMes").html('loading...'); },  success: f ...

  4. LVS安装使用详解

    简介 LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,它的官方站点是www.linuxvirtualserver.org. ...

  5. SQL Server 2012 创建数据库快照

    不是所有的MSSQL数据库版本都支持数据库快照,只有Enterprise版本的才支持. 在其他版本上,以Business Intelligence Edition版本为例,创建快照时,会报如下错误 消 ...

  6. 使用jquery的delay方式模拟sleep

    javascript中并没有原生sleep函数可供调用,一般来说为了实现sleep功能,大都是采用SetTimeout来模拟,以下片段采用jquery的delay方法来模拟,也算是提供了另外一个视角吧 ...

  7. FileUploadInterceptor拦截器的笔记

    当请求表单中包含一个文件file,FileUploadInterception拦截器会自动应用于这个文件. 表单: <s:form namespace="/xxx" acti ...

  8. 让background-color 无效

    { background-color: transparent; // 让背景透明,相当于背景颜色无效 }

  9. [ActionScript 3.0] AS3.0 复制xml,并赋值

    var template:XML= <person><name><first>FIRST</first><last /></name& ...

  10. apache配置Options详解

    http://www.365mini.com/page/apache-options-directive.htm Options指令是Apache配置文件中一个比较常见也比较重要的指令,Options ...