基于UML的塔防游戏设计
- 格式:doc
- 大小:106.50 KB
- 文档页数:14
本科毕业设计(论文) 基于Unity3D的塔防游戏的研究与实现Research and Implementation of Tower Defense Game Based on Unity3D毕业设计(论文)原创性声明本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行的设计(研究)工作及取得的成果,论文中引用他人的文献、数据、图件、资料均已明确标注出,论文中的结论和结果为本人独立完成,不包含他人已经发表或撰写的作品及成果。
对本文的研究作出贡献的个人和集体,均已在论文中作了明确的说明。
本人完全意识到本声明的法律结果由本人承担。
毕业论文作者(签字):签字日期:年月日成绩评定注:毕业设计(论文)成绩按百分制评定。
答辩成绩不及格的(评分低于60分的),则该毕业设计(论文)总评成绩为答辩成绩。
摘要21世纪20年代,游戏已经成为了大众经常选择的娱乐方式。
其中,Unity3D作为时下热门的游戏开发引擎,不仅功能完善易上手,还可以免费使用成本低,理所当然的被许多游戏开发者所使用。
Unity3D作为一款全面整合的专业游戏引擎,可以让开发者轻轻松松的去创建3D游戏、建筑可视化、实时3D动画等功能,其优秀的跨平台性使得Unity3D可以运行在包括但不只含于Windows、Android 和Mac等平台。
本次的毕业设计,将实现windows平台游戏的开发,使用Unity3D 游戏开发工具,编写代码为C#语言,开发制作一款名为《方块防线》3D塔防游戏,并在制作的过程中将对项目的需求、游戏的设计和具体的实习方法进行分析。
关键词:塔防3D游戏Unity3D Windows平台AbstractIn the 2020s, games have become a popular entertainment method. Among them, Unity3D, as a popular game development engine, not only has perfect functions and easy to use, but also can be used for free and with low cost. Of course, it is used by many game developers. As a fully integrated professional game engine, Unity3D allows developers to easily create 3D games, architectural visualization, real-time 3D animation and other functions. Its excellent cross-platformity allows Unity3D to run on but not only on Windows , Android and Mac platforms.This graduation project will realize the development of windows platform games. Use Unity3D game development tools, write code for C # language, develop and produce a 3D tower defense game called "Cube Tower Defense", and in the process of making Analysis of project requirements, game design and specific internship methods.Key Words:Tower defense;3D games;Unity3D;Windows platform目录第1章绪论 (1)1.1引言 (1)1.2Unity3D介绍 (1)1.3 C#脚本语言介绍 (2)1.4市场分析与意义 (2)1.5项目的简介 (3)第2章Unity3D界面及基本操作 (3)2.1 Unity3D的界面 (3)2.2Unity3D的基本操作 (6)2.2.1 Unity3D菜单栏 (6)2.2.2 Unity3D工具栏 (7)2.2.3 Unity3D常用快捷键 (7)第3章游戏策划 (7)3.1游戏的简要介绍 (7)3.2背景与情节 (8)3.3游戏的炮塔、怪物和场景的素材与设计 (8)3.3.1炮塔的设计 (8)3.3.2怪物的设计 (9)3.3.3游戏场景设计 (10)3.4 游戏操作方法 (11)第4章游戏的设计与实现 (11)4.1 准备游戏工程 (11)4.2地图的设计 (13)4.3模型和材质的导入 (15)4.4怪物及其脚本设计 (15)4.4.1怪物的移动 (15)4.4.2怪物的生成 (17)4.4.3怪物的死亡 (19)4.5炮塔及其脚本设计 (20)4.5.1炮塔的建造 (20)4.5.2炮塔的升级与拆除 (25)4.5.3炮塔的攻击 (28)4.5.4炮弹的生成及其功能 (30)4.5.5玩家视野的移动 (31)4.5.6玩家的失败和胜利条件 (32)4.6 UI界面的设计 (33)4.6.1炮塔的选择UI (33)4.6.2炮塔的升级与拆除UI (33)4.6.3怪物的血条 (34)4.6.4金钱的显示与更新 (35)4.6.5游戏胜利与失败的界面 (35)4.7游戏开始场景的设计 (36)4.8游戏测试和试玩 (37)4.8.1游戏的打包 (37)4.8.2游戏的最终成果 (38)第5章总结与展望 (39)参考文献 (40)致谢 (41)第1章绪论1.1引言游戏,最早出现记录的游戏是一款电子游戏,其为一款井字棋游戏,需要在真空管计算机上运行。
2021年1月10日第5卷第1期现代信息科技Modern Information TechnologyJan.2021 Vol.5 No.1842021.1收稿日期:2020-11-18基金项目:武汉市教育科学“十三五”规划重点课题(2017A071);武汉市教育局教学研究项目(2019068);江汉大学研究生科研创新基金项目(Jhdxyjs17kz003)基于Unity3D的塔防类游戏的设计与实现张越,陶俊,徐迅(江汉大学 人工智能学院,湖北 武汉 430056)摘 要:文章基于Unity3D 开发引擎,设计并制作了一个塔防类的3D 游戏。
主要分为两个模块,一是敌人功能的设计,包括敌人按照规定路线移动,敌人受到攻击扣除血量等;二是防御塔的设计,包括对敌人进行攻击,建造、升级、拆除防御塔等功能设计。
使用了3ds Max 软件建造角色和场景的模型,最后在Unity3D 中实现游戏的开发,结果表明敌人和防御塔设计合理,游戏体验良好。
关键词:Unity3D ;塔防类游戏;C#脚本;3ds Max 中图分类号:TP317文献标识码:A文章编号:2096-4706(2021)01-0084-04Design and Implementation of Tower Defense Game Based on Unity3DZHANG Yue ,TAO Jun ,XU Xun(School of Artificial Intelligence ,Jianghan University ,Wuhan 430056,China )Abstract :This paper designs and produces a tower defense 3D game based on Unity 3D development engine. It is mainly dividedinto two modules ,one is the design of the enemy function ,including the enemy moving according to the prescribed route ,the enemybeing attacked deducting the amount of blood and so on ;the second is the design of the defense tower ,including the attack on the enemy ,construction ,upgrade ,demolition of defense towers and other functional design. The 3ds Max software was used to build the models of the characters and scenes ,and finally the game was developed in Unity 3D. The results showed that the enemy and defense towers were designed reasonably and the game experience was good.Keywords :Unity 3D ;tower defense game ;C# script ;3ds Max0 引 言国内游戏产业突飞猛进的发展和手机的快速普及,根据市场调研公司Newzoo 的数据报告2023年全球玩家将达30亿。
塔防小游戏编程实现近年来,塔防游戏备受玩家的喜爱,其独特的策略性和刺激的游戏性让人乐此不疲。
塔防小游戏是指玩家需要建造和升级防御塔来抵抗敌人的进攻,并最终击败敌人的游戏。
本文将讨论塔防小游戏的编程实现方法,以及一些与之相关的技术和设计考虑。
1. 游戏引擎的选择在实现塔防小游戏之前,首先需要选择合适的游戏引擎。
游戏引擎是一种开发工具,可以帮助开发者更加高效地创建游戏,并提供一些常用的功能和模块。
目前常用的游戏引擎有Unity和Cocos2d等,它们都提供了丰富的功能和强大的开发工具,可以满足塔防小游戏的编程需求。
2. 游戏地图的设计与编辑塔防小游戏通常需要设计多个关卡,并在每个关卡中提供不同的地图。
游戏地图的设计需要考虑多个因素,如敌人的行进路径、防御塔的建造位置等。
通过使用地图编辑器工具,我们可以方便地创建和编辑游戏地图,并将其与游戏引擎进行关联。
3. 敌人的生成与移动敌人的生成和移动是塔防小游戏中的关键要素。
在游戏开始时,敌人需要按照预定的规则生成,并按照设定的路径移动。
通过编写敌人生成和移动的代码,我们可以实现敌人在游戏中的出现和行动。
4. 防御塔的建造与升级在塔防小游戏中,玩家需要根据自己的策略和需要建造防御塔,并且可以通过升级来提升防御塔的威力。
防御塔的建造和升级需要考虑多个因素,如建造位置是否合适、升级所需的资源等。
通过编程实现防御塔的建造和升级功能,可以提升游戏的可玩性和挑战性。
5. 游戏逻辑和规则的设计塔防小游戏的成功与否,还与游戏的逻辑和规则设计密切相关。
游戏逻辑和规则需要定义敌人的属性、防御塔的属性、游戏的胜利和失败条件等。
通过编程实现游戏逻辑和规则,可以确保游戏的平衡性和可玩性。
6. 用户界面的设计用户界面是塔防小游戏与玩家进行交互的窗口。
好的用户界面设计可以提高游戏的易用性和用户体验。
游戏界面通常包括游戏场景展示、防御塔建造和升级操作、敌人信息显示等。
通过编程实现用户界面,可以实现与玩家的互动和信息展示。
塔防游戏设计方案塔防游戏是一种策略游戏,玩家需要通过建造防御塔来抵御敌人的进攻。
在设计一个塔防游戏时,需要考虑以下几个方面:游戏的目标、游戏的关卡设计、塔的种类和升级系统、敌人的行为和进攻方式、游戏的界面和音效、游戏难度的设置等。
首先,游戏的目标可以设计为在限定的时间内防止敌人进入玩家的基地,或者在每个关卡中击败所有的敌人。
这样可以给玩家设定一个明确的目标,增加游戏的挑战性和趣味性。
其次,游戏的关卡设计是塔防游戏中非常重要的一部分。
可以设计多个不同难度的关卡,每个关卡中敌人的数量、种类和行动路线都不同,升级塔的费用也会逐渐增加。
还可以在关卡设计中加入一些特殊的元素,比如迷雾、障碍物等,使得游戏更加有趣和具有挑战性。
塔的种类和升级系统也是塔防游戏中的一个重要部分。
可以设计多种不同类型的塔,比如箭塔、火焰塔、冰冻塔等,每种塔都有自己的攻击方式和特殊效果。
玩家可以通过消耗游戏中的资源来升级塔的攻击力、射程和攻击速度,提高塔的战斗能力。
敌人的行为和进攻方式也需要设计得具有一定的策略性。
可以让敌人有不同的移动速度和抵抗能力,有些敌人可以穿过特定的障碍物,有些敌人可以释放特殊的技能。
还可以设计一些特殊的敌人,比如BOSS敌人,他们拥有更强大的攻击力和生命值,需要玩家耗费更多的资源来击败他们。
游戏的界面和音效也需要设计得美观和符合游戏的风格。
可以设计一个直观易懂、操作方便的界面,玩家可以在界面中建造和升级塔、购买道具等。
此外,游戏的音效可以根据游戏节奏的变化来设计,比如当敌人进入塔的攻击范围时会有特定的音效提示。
最后,游戏的难度设置也是设计塔防游戏的一个重要环节。
可以根据玩家的能力和游戏的进展,设置不同的难度等级。
初级难度适合新手玩家,中级难度适合有一定经验的玩家,高级难度适合那些追求极限挑战的玩家。
此外,还可以设置一些特殊的挑战模式,比如限定时间内击败指定数量的敌人等。
总之,设计一个塔防游戏需要兼顾游戏的目标、关卡设计、塔的种类和升级系统、敌人的行为和进攻方式、游戏的界面和音效、游戏难度的设置等方面。
用Java和LibGDX开发战略塔防小游戏使用Java和LibGDX开发战略塔防小游戏战略塔防游戏是一种越来越受欢迎的游戏类型,玩家需要在游戏中策划并建立防御塔来抵御敌人的进攻。
本文将介绍如何使用Java编程语言和LibGDX开发一个简单但富有挑战性的战略塔防小游戏。
一、游戏概述在开始开发之前,我们需要了解几个游戏的主要组成部分。
1. 地图:在游戏中,我们需要设计一个地图,玩家可以在上面放置塔和敌人可以通过的路径。
2. 塔:玩家可以在地图上建造不同类型的塔,每个塔都有不同的攻击方式和特殊能力。
3. 敌人:游戏中会有不同类型的敌人,它们会沿着预定路径行进并试图摧毁玩家的防御塔。
4. 玩家:玩家需要管理资源,购买和升级塔来防御敌人的进攻。
二、环境准备在开始编写代码之前,我们需要准备一些开发环境。
首先,我们需要安装JDK(Java Development Kit),并确保可以在命令行中访问到javac和java命令。
其次,我们需要下载和配置LibGDX开发框架。
1. 安装JDK:在Oracle官方网站上下载适合您操作系统的JDK版本,并按照安装向导进行安装。
2. 下载LibGDX:在LibGDX官方网站上下载最新的LibGDX版本,并解压缩到您指定的目录。
3. 配置LibGDX:打开LibGDX安装目录下的setup文件,按照向导的指示进行配置。
在配置过程中,您可以选择使用Eclipse或IntelliJ IDEA作为开发工具。
三、游戏开发有了环境准备之后,我们可以编写游戏代码了。
以下是一个简单的战略塔防小游戏的开发流程。
1. 创建项目:使用LibGDX提供的项目生成工具创建一个新的LibGDX项目。
2. 设计地图:在游戏中添加地图,可以使用图块(Tile)来构建地图,确保敌人可以正确行进。
3. 塔的设计:设计不同类型的塔,并确定它们的属性,如攻击范围、攻击力和升级成本等。
4. 敌人的设计:设计不同类型的敌人,并确定它们的属性,如生命值、移动速度和攻击力等。
江海职业技术学院毕业设计毕业设计题目:unity3D塔防游戏的设计与实现学生学号: 141010155 学生姓名:踪训军所在系(部):信息工程系专业及班级:计算机1401 指导教师:谭程宏完成日期: 2017-02-10摘要游戏,目前已经是最大众化的娱乐之一。
Unity是这几年非常热门的一种开发引擎之一。
它具有非常强力的跨平台能力,其中还包含了图形、音频、物理系统、网络等多方面的引擎支持,是一个2D、3D游戏引擎套件和游戏开发工具,并且有一个非常强大的编辑器来整合这一切,因此被广大游戏开发者所喜爱。
本次毕业设计,围绕手机游戏开发的实现,利用Unity3D游戏开发工具,基于C#语言编写,开发制作一款手机游戏塔防游戏《突破重围》,并对项目需求及游戏的设计和具体实现进行分析。
关键词塔防,手机游戏,Unity3D,Android目录第1章绪论 (5)1.1论文结构安排 (5)1.2市场需求分析 (6)1.3项目的简介 (6)第2章unity3D介绍 (6)2.1 Unity3D总体概述 (6)2.2 Unity3D软件特色 (7)第3章游戏概要设计 (8)3.1整体游戏需求 (8)3.2游戏截图 (9)3.3 设计概要 (10)3.4游戏类图 (11)3.5游戏流程图 (12)3.6游戏主要功能设计 (14)3.6.1开场插画 (14)3.6.2选关界面的效果 (14)3.6.3模型动画的切换 (14)3.6.4敌人的AI实现 (15)3.6.5释放技能特效的实现 (17)3.6.6主角的行走路线 (17)3.6.7游戏中的碰撞检测 (18)第4章游戏具体实现 (18)4.1程序实现 (19)4.1.1 Emnimy (19)4.1.2 Player (20)4.1.3 GameControl (21)4.1.4 Level (22)4.1.5 MainMenu (23)4.1.6 Moneydate (24)4.1.7 SkillData (25)4.1.8 SkillManger (26)第5章结论 (29)参考文献 (30)致谢 (30)第1章绪论1.1论文结构安排1。
如何⾼效设计游戏——塔防游戏设计⽅案前⾔⽬前国内市场的游戏普遍为⼀些带有“快餐特⾊的RPG”游戏居多,并且这⼀类型的游戏的设计思路已经发展成为游戏开发者们“⽉经”⼀样的存在,有很多⼈“取经”,也有很多⼈“传道”,设置有些⼈对于这⼀设计模式倒背如流。
但是⼀旦公司⾥提出制作⼀些其他类型游戏的项⽬时,就会让许多设计者苦恼。
因此,在这⾥我们⼀起来探讨⼀下,某些类型游戏的设计思路。
例如,我们将要设计⼀款“塔防”游戏。
恐怕有些已有过“塔防”设计经验的⼈或许会经历过这样的体验:若⼀款塔防游戏总共有20关,平均每关有100波敌⼈,那总不可能要对这2000波敌⼈⼀点⼀点进⾏⼿动配置其属性以及难度吧,况且还要和另⼀边的“塔”的数据以及经济体系相结合。
如果是单机游戏,这⼀⼯程或许还有⼈可以接受,但是考虑到近期某些“SNS上的社交塔防”,那么其波数是恐怖的指数级增长,最后恐怕不⽌20000波。
再者,对⽐国外⼀些优秀的塔防游戏,我们会发现,国内的作品会有⼀个通病,就是如果下⼀波敌⼈的类型是“速度型”的,结果这⼀波的难度会⼤增。
形成这⼀问题的原因是,多数设计者仅仅单纯的把“HP”作为难度递增的⼀个衡量。
所以如何想⼀套既便利⼜可⾏的⽅案(或者这⾥我们称之为“算法”)就是我这篇⽂章接下来要分析的事情。
⼀些充⾜的准备在做⼀款游戏的设计之前,我们要清楚地知道,这类游戏将会出现哪些属性元素,针对这些属性元素之间的关系从⽽制定⽅案。
在这⾥我们假定将要设计的游戏为:类型:塔防游戏环境:SNS社交⽹络针对⼈群:学⽣、⽩领游戏⽬的:休闲娱乐、社交为主。
(设定环境为SNS社交⽹络仅仅是⼀个参考,接下来要讲的思路也适合做单机、做⼿游的情况。
)接下来,我们还需要知道我们要针对哪些内容进⾏设计。
按照⼀般的塔防游戏的设计思路有:①系统设计⼀些塔的种类设计,种类相克,种类结合出不同的效果等。
由于这些设计是要凭借诸位设计者的创意以及游戏需求⽽定,并且本着“丰富我们的游戏创意”的原则,在这⾥就不⼲扰各位设计者了,并且这也不是本⽂要讲的重点。
实验塔防式游戏详细设计之一一、实验目的二、实验要求三、实验设备计算机、Python2.7、Pygame1.9.2四、实验内容一、创建游戏场景和卡通人物# 1 - Import libraryimport pygamefrom pygame.locals import*# 2 –初始化游戏场景,即基本画布pygame.init()width, height =640, 480screen=pygame.display.set_mode((width, height))# 3 –通过装载图像的方式画出一个卡通人物player =pygame.image.load("resources/images/dude.png")# 4 –游戏的主循环while1:# 5 - clear the screen before drawing it againscreen.fill(0)# 6 - draw the screen elementsscreen.blit(player, (100,100))# 7 - update the screenpygame.display.flip()# 8 –主循环中的事件循环for event in pygame.event.get():# check if the event is the X buttonif event.type==pygame.QUIT:# if it is quit the gamepygame.quit()exit(0)代码解释:1. 导入pygame库,这一步能让你使用库里提供的功能2. 初始化pygame,设置展示窗口3. 加载作为兔子的图片4. 不停地循环执行接下来的部分5. 在给屏幕画任何东西之前用黑色进行填充6. 在屏幕的(100,100)坐标出添加你加载的兔子图片7. 更新屏幕8. 检查一些新的事件,如果有退出命令,则终止程序的执行。
塔防游戏毕业设计塔防游戏毕业设计在当今的游戏市场上,塔防游戏一直以来都备受玩家们的喜爱。
塔防游戏通过布置防御塔来抵御敌人的进攻,是一种策略性较强的游戏类型。
本文将探讨塔防游戏的设计与开发,以及如何通过毕业设计来展示自己的才华。
一、游戏设计理念在设计塔防游戏时,首先需要确定一个独特的游戏理念。
这个理念可以是基于某个历史事件、故事情节或者科幻世界。
例如,可以设计一个基于中世纪骑士与巨龙之间的战斗的塔防游戏。
通过选择一个有趣的主题,能够吸引更多的玩家,并增加游戏的可玩性。
二、关卡设计塔防游戏的关卡设计是游戏中最重要的一部分。
关卡的设计需要考虑到玩家的挑战性和趣味性。
可以通过设置不同的地形、敌人类型和难度来增加关卡的多样性。
此外,还可以添加一些特殊的关卡元素,如隐藏的宝箱、特殊道具等,来增加游戏的乐趣。
三、防御塔设计防御塔是塔防游戏的核心要素之一。
设计不同类型的防御塔,如箭塔、法师塔、炮塔等,每种防御塔都有其独特的攻击方式和特殊技能。
玩家可以根据敌人的特点和关卡的需求来选择合适的防御塔。
此外,还可以设计升级系统,让玩家可以通过消耗游戏内货币来提升防御塔的攻击力、射程等属性。
四、游戏平衡性塔防游戏的平衡性是一个关键问题。
如果游戏过于简单,玩家会感到无聊;如果游戏过于困难,玩家会感到挫败。
因此,在设计游戏时需要仔细调整关卡的难度和敌人的属性,以确保游戏的平衡性。
此外,还可以添加一些随机事件或者特殊技能,增加游戏的变化性和挑战性。
五、美术设计在塔防游戏中,美术设计是非常重要的。
精美的游戏画面和动画效果可以提升游戏的观赏性和沉浸感。
可以通过设计独特的敌人形象、防御塔模型和特效来吸引玩家的注意力。
此外,还可以选择适合游戏主题的音乐和音效,增加游戏的氛围。
六、毕业设计展示通过一个精心设计的塔防游戏毕业设计,可以展示自己的才华和技术能力。
在展示时,可以通过演示游戏的关卡设计、防御塔设计和游戏平衡性等方面,来展示自己的游戏设计能力。
基于Unity3D塔防类手机游戏的设计与制作策略作者:李竟来源:《计算机应用文摘》2022年第18期关键词:unity3D;塔防;手机游戏;设计制作国产游戏的发展可谓是突飞猛进,特别是手机游戏种类越来越多。
市场调研报告显示,估计在2023年,全球的手机玩家数量可突破30亿,中国游戏市场发展前景广阔。
塔防游戏属于较为典型的休闲游戏,受到诸多玩家的喜爱,其在设计过程Unity3D的应用必不可少,依托此技術能够为塔防游戏的设计提供方向,优化设计思路,增强玩家的游戏体验,推动3D手机游戏领域的快速发展。
1概述Unity3D属于游戏开发综合类型工具,能够为玩家打造轻松的游戏场景,通过三维视频,建立实时动画,搭建可视化平台。
Unity3D中包含编辑器、地形编辑、脚本、版本控制以及跨平台发布多重功能,能够形成物理引擎( PsysX).可以拒绝多个脚本语言运行,其中还内置Shader效果,便于开发者应用,游戏开发以后能够向Android和iOS等手机平台上发布,还可向PC端发布,或者利用Unity插件来发布网游。
Unity3D和其他类型的游戏引擎存在显著差异,即设计者更为关注游戏体验感和可玩性,并非只追求设计简单[1]。
塔防游戏属于益智类游戏,通过作战地图,使怪兽按照设定路线进行移动,而玩家则可根据设定位置创建炮塔,用特殊技能对敌人发起攻击,最终获得胜利。
手机平台中的《保卫萝卜》《植物大战僵尸》都属于塔防游戏。
当前,移动设备的运行性能日益提升,手机游戏也具备3D视觉体验功能,为塔防游戏的开发提供了良好的环境。
2设计与制作策略2.1《保卫羊村》制作与设计2.1.1游戏设计内容《保卫羊村》等塔防游戏就是利用Unity3D技术完成设计的。
其设计思路是将人物角色划分为“羊村武士”“灰太狼敌人”,二者分别作为防守方和进攻方。
敌人根据地图设计向左方移动,逐渐靠近羊村,并对基地发起攻击,而攻守一方根据防守需求,完成武士角色的动态设置,创建角色展开防守,当武士能够成功消灭一个敌人时,就可以获得对应金币,而金币可以应用在防守投入中。
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。