基于java的魔塔游戏的设计与实现

时间:2022-05-21 12:21:29

基于java的魔塔游戏的设计与实现

摘要:随着信息技术的飞速发展,计算机技术的应用已渗透到人类社会当中。毋庸置疑,计算机的应用不仅大大提高了工作效率,同时也为我们的日常生活带来快乐。极大地推动了社会的文明和进步。

关键词:JAVA;游戏开发;魔塔

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)34-0246-02

所有的计算机应用都是使用编程语言开发的。Java语言凭借其卓越的特性被广大的程序员所使用,诸如简单性、安全性、健壮性、平台移植性和通用性。Java应用程序“Write Once, run anywhere”的特点越发鲜明,对减少重复编程、提供快捷的跨平台应用起着不可忽视的作用。

本文着眼于Java技术的应用,开发一款益智类RPG(角色扮演)游戏――魔塔。该游戏操作简单,但对智力、谋略却有一定的考验。游戏中设有多种情景对话,让玩家有一种身临其境的感觉,同时,该游戏拥有存档的功能,使玩家不会因为每次都重新开始而烦恼。

故为丰富硬件平台的应用软件,借助Java语言面向对象的特点,充分利用封装、继承、多态的特性,将这一经典游戏呈现。

1游戏开发背景和开发环境

1.1游戏开发背景

计算机在人们的生活中扮演著举足轻重的角色,它是现代社会不可或缺的。人们可以使用计算机办公、娱乐、购物等等,计算机的发展让我们的生活变得更加丰富,更加便捷。在计算机上玩游戏,也成为我们主要的娱乐方式之一。但纵观整个游戏领域,绝大多数的主流游戏都是使用C语言或C++语言开发的。使用Java语言编写的游戏微乎其微。造成这一现象的原因可能是每种语言的特性所决定的,Java语言也有它的局限性。但是,这并不代表Java语言就不能开发游戏。本文就是基于Java语言开发一款角色扮演类的小游戏。

1.2游戏开发环境

2 游戏介绍

2.1游戏背景

很久很久以前,一位武功高强的魔法师因为厌恶国王,所以将国王最疼爱的公主抓了起来,美丽的公主被魔法师囚禁在一座神秘之塔里面。国王知道后,十分的气愤,随后下重金招募了诸多勇士。经过层层淘汰选拔,最终只留下了一位勇士。这位武功高强的勇士手持长剑进入满是魔法师的魔塔之中,营救美丽的公主。可是万万没有想到,刚刚进入塔中就遭到了坏人的暗算,不仅武器和法术都丢失了,还被关入了监狱,幸好得到了一同坐牢的小偷和仙子的帮助让你逃了出来,于是我们的英雄一边练功一边开始了他艰苦的救美之行……

游戏刚刚开始,勇士会与仙子进行对话,让玩家大致了解整个游戏的背景及流程,并且仙子用自己最后的一点法力,恢复了勇士的功力,随后游戏将真正开始。在游戏中,勇士通过击杀怪物,获取金币和经验,玩家可以在勇士商店或者经验老人那里使用金币和经验,提升勇士的生命值、攻击力、防御力。再结合隐藏在魔塔的各个角落的宝物,最终击败魔王,营救公主,获得游戏胜利!如若玩家在于怪物的战斗中失利,则游戏失败!

2.2游戏操作

游戏菜单页面操作:鼠标操作

勇士上、下、左、右移动:键盘上、下、左、右键;

与游戏设定人物对话:键盘空格键;

游戏中商店操作:鼠标操作;

获取游戏中“怪物手册”:按X键查看,按X键关闭;

获取游戏中“风之罗盘”:按Z键打开,鼠标点击,按Z键关闭;

退出游戏:按Q键;

重新开始:按R键;

游戏存档:按S键;

读取存档:按A键。

3需求分析

3.1功能需求

本人所要设计的游戏应用主要涉及下列功能模块:与npc对话、查看怪物手册、商店交易、楼层跳转、游戏存档与读取、战斗画面的显示、重新开始和音乐播放。功能结构如图2所示:

3.2性能需求

计算机配置:安装java环境,jdk6.0以上;

响应时间:每一次玩家触发事件后,程序的响应时间不得超过5秒;

数据准确性:玩家在游戏的过程中,数据不能出现错误;玩家保存进度后,读取时数据应与保存时一致;

3.3可靠性和可用性需求

可靠性:在玩家完整的进行一次游戏的过程中,不会出现程序运行错误、闪退的情况。同时能够完成功能需求中的各个功能模块。

可用性:能够保证在两周时间内,程序能够正常运行的比例在90%以上。

3.4可维护性和可扩展性需求

可维护性:能够做到在不影响玩家数据的情况下,修复程序Bug。

可扩展性:作为游戏开发,一成不变往往会使玩家产生情感疲劳,所以开发新的功能成为一种必要。所以,该游戏应该能确保在不影响之前功能情况下,添加新的功能模块。

4程序实现

4.1游戏整体流程

在此对游戏的整个流程做如下的介绍。游戏伊始,“勇士”会被赋予初始属性值,游戏过程中,将会遇到四种情况:1.物品;2.商店;3.NPC;4怪物。获取物品,可以提高玩家的属性值或是获取道具;遇到商店,玩家可以根据自己的情况,对“勇士”属性进行提升或是买卖钥匙;遇到NPC,诸如“前辈”、“小偷”、“仙子”、“公主”等,这些人物的设定主要是情节所需,值得注意的是“公主”,当玩家遇到她时,意味着游戏即将结束,当我们完成“公主”最后的命令――杀死“魔王”,“勇士”成功,游戏结束;遇到怪物,无非两种结局:成功,游戏继续;失败,“勇士”战死,游戏结束。流程图如图3所示。

4.2主菜单设计

主菜单效果图如图4所示。

主菜单由背景图片、开始游戏、读取游戏、游戏说明、退出游戏五部分组成。显示效果如图4所示。在主菜单主要借助于鼠标操作。

当点击开始游戏,主菜单关闭,进入游戏主界面并开始游戏;

当点击读取游戏,主菜单关闭,程序读取之前保存数据,进入游戏主界面并开始游戏;

当点击游戏说明,进入游戏说明界面,游戏说明主要介绍了游戏背景及游戏的基本操作等;

当单机退出游戏,主菜单关闭,程序结束运行。

5结束语

基于Java的魔塔游戏的设计与实现,其具体功能包括:对话、商店功能、怪物手册、楼层跳转等等,使用到Java相关技术、事件监听技术、双缓冲技术等。基本还原了经典游戏――魔塔v1.12。为了尽可能地发现并改正系统设计中的错误,减少错误造成的损失,保证系统开发的质量,进行了系统性的测试。经过单元测试、集成测试,将所有功能点做统一的测试。测试过程体现出游戏运行流畅,并没有大的问题及错误出现,只是偶尔出现响应时间长的现象,但并不影响游戏进行。初步可以断定,该系统的功能和性能可以满足当前用户的需求。

上一篇:基于智能机器视觉的目标检测跟踪技术研究 下一篇:“内在发展论”的历史认识轨迹与展望