当前位置:文档之家› 基于UML的塔防游戏设计

基于UML的塔防游戏设计

基于UML的塔防游戏设计
基于UML的塔防游戏设计

1目录

错误!未定义书签。目录 (1)

2 摘要 (2)

3 需求分析 (2)

3.1 分析 (2)

3.2识别参与者 (3)

3.3 构建用例模型 (4)

4 构建类图 (5)

4.1 识别对象和类 (5)

4.2 识别分析类属性 (5)

4.3 识别分析类操作 (6)

4.4 创建类图 (6)

5 活动图 (7)

5.1 确定需求用力 (7)

5.2 确定用例路径 (8)

5.3 创建玩家与游戏系统部分活动图 (9)

5.4 游戏内部士兵与武器的部分活动图 (11)

5.5 创建完整的活动图 (12)

6 构建序列图 (13)

6.1 对象分析 (13)

6.2创建序列图 (13)

2 摘要

随着一个智能手机普及时代的到来以及人们生活质量的提高,人们越来越会享受生活,无聊的时候能够随时找到排解的方法是很重要的。这就要求随身携带的手机能够起上作用,设计一款益智耐玩的塔防游戏来供大家打发业余时间是很好的选择。

游戏描述:

1.敌人从地图的一端进入,经过某个特定的路径后最终达到目的地(通常是

地图相反的一端),即偷取了你的宝物若干或吸走你的血。当然,前提是他们活下来了。

2.玩家沿着路径放置一些防御炮塔,在敌人经过时朝他们开火。敌人一波一

波的过来,同时变得越来越强大,玩家需要不断放置更多的防御工事,同时升级这些炮塔。

3.要赢得游戏,玩家得挺过20到50波的敌人,或者是无止尽的玩下去,直到

玩家的宝物被全部偷走为止,或者玩家生命值为零。

4.本游戏设计只设置玩家生命值,而不设置宝物。并且本游戏中的关卡不会

在此体现出来,不同关卡知识地图不同,开始时系统排出的出兵方式不同,其他都一样。故只对一个关卡进行分析。

3 需求分析

3.1 分析

此为塔防游戏, 即地图一端会自动出兵攻击城池另一端, 在中间部位玩家可按照自己的思路放置炮塔来阻击士兵的攻城, 一旦炮塔的放置位置不对, 或者所选择的炮塔攻击力不够的话, 便阻止不了士兵的攻城, 那么士兵很容易

就能攻下城池, 玩家便输了. 所以这类策略游戏不仅可以使玩家娱乐, 还能使玩家的智力得到很好地提升, 为此, 要求此游戏要给玩家尽量大的个人发挥空间. 要达到这一点可以从多方面着手:①地图, ②武器, ③士兵,

④系统, ⑤玩家生命力.

地图: 从地图上看, 游戏设计要控制士兵到达终点的路线, 也就是说路线越不固定越多样化越好, 这就要靠玩家自己设阻来改变士兵原有的最

短路线, 或者说把士兵到达终点的路线变得更长, 为武器攻击提供更

长的时间, 从而达到消灭士兵的目的.

武器: 从武器方面来看, 可以设置不同的舞起来供玩家选用, 武器的不同可以从攻击力, 攻击范围, 还有购买和升级武器所消耗的游戏金币的不

同而定.

士兵:从士兵的角度看, 在设计士兵的时候可以根据士兵的速度, 生命力, 以及士兵被击毙后玩家可以获得金币数量的不同而定, 一般来说, 士

兵所携带的金币数量与士兵的生命力成正比.

系统: 所谓系统, 在这里也就是指游戏系统, 即控制士兵与玩家对抗的一方,系统要根据不同的地图产生出不同的出兵方式, 以便更好的攻击目

的地.

玩家生命力:玩家生命力, 即: 当玩家设置的阻击, 无法阻击士兵到达目的

地时, 有多少是士兵达目的地玩家生命力就要减少多少, 直到

零为止, 此时玩家便输了, 因此玩家生命力的多少可根据地图

的难易程度而设置相应的数量。

3.2识别参与者

本游戏即为塔防游戏, 就有攻有防,基于前面分析可知要有电脑和玩家两房对战,故参与者可以包括以下两种:

·系统:根据不同的地图派出不同的出兵方法。

·玩家:根据地图排兵布阵,主旨是兵的攻击。

3.3 构建用例模型

3.3.1系统用例图

系统登录后,会随机产生地图模型,系统会根据地图类型排出相应的出兵

方法,然后指挥士兵以最短的路径到达目的地。根据这些我们可以创建系

统用例图,如下图1所示:

寻找最短路径

指挥士兵

图1

3.3.2玩家用例图

玩家在本游戏中可进行如下活动:

·购买武器:在金币足够的情况下,玩家可以买自己想得到的武器。

·武器升级:在玩家想提升已安装的某个武器的攻击力时,可以对其升级,当然前提是金币足够。

·卖出武器:当玩家不想要某个位置的武器,或者想要更换武器的话,可

先将其卖出。

根据以上活动,可以创建玩家用例图如下图2所示:

验证金币足够

金币增加

选货架上的武器

卖出

图2

4 构建类图

4.1 识别对象和类

根据用例分析,本游戏系统可得出以下几类:玩家,武器,士兵,金币。

4.2 识别分析类属性

玩家(Person )类的主要属性:生命力(lifeBlood )。

武器(Weapon )类的主要属性:攻击范围(area ),杀伤力(hurt )等。 士兵(Soldier )类的主要属性:血量(life )。

金币(Money)类的主要属性:金币数(money)。

4.3 识别分析类操作

玩家(Person)类的主要操作:玩家的主要操作是为武器寻找好位置,至于

安装,升级,卖出这些都调用武器中的方法

实现,还有就是玩家降低生命值。

武器(Weapon)类的主要操作:攻击士兵,升级,卖出,买入,增加攻击力

和攻击范围。

士兵(Soldier)类的主要操作:一直朝向目标地移动,当被武器攻击时还会

掉血。

金币(Money)类的主要操作:增加金币和减少金币。

4.4 创建类图

根据以上分析可以创建系统部分类图如下图3所示:

图3

5 活动图

5.1 确定需求用力

由以上用例图的分析,可知:参与者系统实际就是游戏系统自己本身完成的归于游戏本身,实际上的参与者也就玩家一个了。

对于玩家来说:用力也就是选购武器,安装武器,升级武器,卖出武器。

5.2 确定用例路径

根据需求,可确定本游戏用例流程如下图4所示:

图4

其实玩家在游戏中所做的也就是对武器的一些操作:包括购买,选位置安装和升级,卖出,并且在游戏结束之前玩家可以一直循环进行这些操作,直到游戏结束即输了或者赢了。其他的像武器攻击士兵,这是只要游戏没结束,并且士兵在武器的攻击范围内就可以只攻击,这由游戏系统自动完成。像系统分析最短路径,这是在玩家安装或卖出武器后,对应的路线会发生改变,系统要自动快速分析出最短路径指挥士兵到达终点。像士兵掉血,这是根据攻击士兵的武器的攻击力而定,不同的武器攻击力不同,士兵减去的血也不同减去士兵相应的。显然这些都是游戏程序固定好的自己执行完成。

5.3 创建玩家与游戏系统部分活动图

这是玩家部分活动图,主要是体现玩家在游戏中对武器的一些操作,主要是安装,升级以及卖出这三方面循环选择。并且每次玩家做完对武器的卖出和安装后系统都必须对地图重新分析得出最短路径,这样玩家可以在界面上一直操作,至于游戏系统内部的武器攻击士兵,以及士兵掉血和士兵死亡,到达目的地都将在下一个图6中体现。

5.4 游戏内部士兵与武器的部分活动图

图6

5.5 创建完整的活动图

6 构建序列图

6.1 对象分析

根据需求分析,此游戏在时序上有以下几大过程:玩家安置武器,升级武器,卖出武器,同时还进行着士兵攻向目的地,故可以抽象出以下四个对象:玩家,系统,地图,武器。四个对象如下图8所示。

: 玩家

图8

6.2创建序列图

根据以上分析得出的对象按照玩家操作流程,一步一步的将其操作绘制在序列图中,其基本工作流程的序列图如下图9所示。其中,玩家的一些操作是可循环和选择的:像选可购买武器和选已安装武器之间,升级武器和卖出武器之间都是二选一的;像选可安装武器,选已安装武器这两个操作是分别可循环的。

: 玩家

图9

相关主题
文本预览
相关文档 最新文档