- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
罗晓然——《Java语言》课程期末作业
PAGE
PAGE 20
《Java语言》课程期末作业
题 目 自选题:一个塔防游戏
学 院 计算机学
专 业 网络工程
班 别 09级(2 )班
学 号 3109006536
姓 名 罗晓然
2010年12月1日
一、课程题目
自拟题目:
设计一个塔防游戏,需完成塔防类游戏的基本功能。实现能更换地图,任意定制进攻怪兽外观、属性参数,实现根据二进制描述的地图自动寻找进攻路径,实现金钱、积分、时间计算系统,实现包括单体快速攻击的机枪塔、群体攻击的炸弹塔、减速塔、发射自动跟踪导弹的导弹塔、远距离攻击的狙击塔、群体攻击的射线塔以及激光塔等在内的建筑系统。
二、题目分析与设计
1. 开发环境:
Eclipse + JDK7/Open JDK 6在Windows 7 / Windows 8 / Ubuntu 10.10下开发、测试通过;
2. 设计概要:
如上图,对于一个塔防游戏而言,处理怪物属性、行走路径、炮塔的种类、攻击范围以及对象是要点,为了便于更换地图,把地图的数据结构定义为:
地图{
地图图片资源;
描述地图的整数型二维数组;
出发点坐标;
结束点坐标
};
地图资源主要用PS绘制,此外,为便于生成二维数组,设计如下的地图编辑器:
上述编辑器功能为通过标记加载的地图图片生成二维数组;
对于建筑,由于各种建筑的实现方法不同,考虑到处理的方便性,首先定义一个building类,使各个建筑分别继承building类,building类描述有所有建筑都需要的公共属性及方法诸如所在坐标、时间片、攻击动作、范围计算等;
对于怪兽,怪兽之间的差别只有生命值、外观、移动速度、防御力、攻击力、杀死奖励等,因而不需要构建多个类,所有怪物可共用一个AMonster类;
对于子弹、激光束、导弹等光影效果,由于各自之间相差甚远,故分别采用不同的类实现;
为了实现界面,定义了地图面板类、信息面板类、菜单面板类、读取提示面板类等;
此外,对于图片资源的管理及读取,定义了一个Resources类以统管;
为了协调绘制事件与游戏内部事件等,设定了一个管理所有对象及游戏状态的Consts类;
最后,还有建立游戏例程的test类;
3. 界面设计:
菜单界面设计如下:
此界面实现进入地图选择界面以及退出程序功能,此外,游戏过程中选择退出也是返回到本界面;
地图选择界面如下:
目前只有两幅地图,右侧三个按键中上方两个设计用于地图多于两幅时选择下一页的地图,第三个按键功能为返回上级菜单,当鼠标移动到地图选单上方出现地图地形及相关描述、点击提示,如下图:
点击关卡后进入读取状态界面,然后进入游戏界面:
如上图。游戏界面中下方为信息显示、控制面板,布局思想参考了包括防御阵营、哨兵等众多塔防游戏,左下方为建筑选择面板,当现有金钱大于等于该建筑时允许选取,图中光标为跟随光标、紧贴网格的提示光标,当鼠标移动到路面或不可建筑地区时为红色、移动到建筑上方时为蓝色、移动到其他地区上方时为绿色;
当选取建筑后,光标中将出现所选取的建筑,如下图:
在地图上允许建筑位置点击鼠标左键可建立所选建筑,点击鼠标右键取消操作;
每种建筑均有不同的杀伤效果以及效果外观,当点选已有建筑时,显示建筑的作用范围以及属性、升级选项,如下图:
在此界面可选择出售建筑或者升级建筑,左上角数值为出售建筑可得金钱,右上角为建筑升级费用,下方左右两个数值分别为当前杀伤力以及升级后的杀伤力,建筑升级将获得不同的外观,同时,本界面中以一个旋转的扫描状圆形描述作用范围;
此时点击图中其他地方或者点击鼠标右键可关闭此属性界面;
上图为信息面板右半部分,左侧黄色箭头为快进功能键,点击一次将使游戏速度更改为2倍速并绘制,再次点击将更改速度为4倍速并绘制,此时再次点击将恢复原图样及速度。
快进键右侧为暂停功能,点击后,游戏将暂停并绘制如下提示选单:
此选单中可选择结束本次游戏、重新开始本局功能;
此外,本游戏设定为暂停过程中可对建筑进行建设、出售、升级操作;
杀死怪兽可获得金钱及积分奖励,金钱可用于购买、升级防御塔,此外每一波怪兽死亡后可获得5%的金钱奖励,而每当有怪兽成功通过所有路程到达目的地,玩家将会被扣除一定生命值,此生命值的显示方式为游戏窗口上方随生命值减少而降落的血幕,此幕会影响游戏视野,当此幕降落到屏幕底端时判定为游戏失败:
本游戏设定有类似无级缩放功能,操作方式为滑动鼠标滚轮以及拖动游戏面板实现缩放、移
文档评论(0)