Tank游戏需求分析兼项目计划发布!

时间:2021-10-13 23:58:34

项目计划

1.   编写目的

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

2.   项目背景

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

3.   项目目标

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

4.   项目概述

项目实现了对经典坦克大战游戏的改编。将其关卡模式转变为“逃亡”模式。游戏将障碍物数目减少,坦克移动场景变得空阔。子弹遇到游戏边界或障碍物发生相应的碰撞反弹。玩家要需要在“枪林弹雨”中移动生存下去。同时,玩家可以通过发射子弹消灭其他坦克以获取分数提高排名。此游戏为用户提供了一个可以展示自己技艺的平台,让用户不仅能放松自己,还能感受到游戏带来的乐趣。

5.    游戏规则简介:

本游戏借鉴坦克大战的创意,加以改进。游戏中玩家操控自己的坦克躲避屏幕中来自自己和敌人的子弹,同时设法消灭对方,坚持时间越长得分越高。

下面介绍几项基本设置:

1.坦克操纵设置:坦克使用键盘操控,WASD控制移动,W前进,s后退,A和D控制左右转向,鼠标控制炮筒方向,单击发射子弹。(子弹每2s发一次)

2.子弹设置:子弹碰到障碍物及边缘反弹,不会消失,碰到别的子弹或者击中目标即会消失。

障碍物设置:游戏中仅简单放置几个障碍物,分散在地图上,每隔固定时间障碍物刷新,位置和形状可变。(障碍物可以是砖块,河流,草丛等等)

3.游戏难度设置:游戏初始较简单,设置一个敌人(敌人坦克子弹会相互抵消),子弹速度也相对较慢,随着游戏时间进行,敌人每隔一段时间增加一个,速度也相应加快,一定时间后相继出现快速坦克,隐形坦克等,敌人AI调节适当。

4.道具设置:地图中随机刷新某些道具(电脑也可以吃),初步设置以下几种道具:

防弹帽(无敌效果,维持一定时间);

多种星星(加命+子弹加强效果(打一次后全消失),一:子弹变快,二:发射多个,三:提前显示反弹三次前的子弹轨迹);

炸弹(清理屏幕所有子弹);

铁铲(可以自行添加一块障碍物,障碍物三次刷新后消失);

5.游戏结束:被打中后死亡,每次会记录最高分(时间+杀敌数)

6.  游戏的整体框架 

Tank游戏需求分析兼项目计划发布!

一 游戏界面

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