推箱子课设报告Word文档下载推荐.docx
《推箱子课设报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《推箱子课设报告Word文档下载推荐.docx(20页珍藏版)》请在冰点文库上搜索。
熏陶,陶冶情操。
本游戏在作为一款娱乐休闲游戏的同时,也具备了开发用户智
力的平台,它为玩家提供了一个宽阔的思考空间,让玩家自由畅想。
这样不仅提
高了玩家的思考水平,而且改善了玩家的思考方式。
在锻炼玩家大胆想象,勇于
尝试方面做出了一步跳跃,为玩家在工作中崭露头角奠定了基础。
推箱子游戏通
过为玩家设计了一款比较适合调节情绪的画面,操作简单且能够激起玩家的极大
的探索兴趣。
关键词:
推箱子,JAVA,面向对象
沈阳工程学院课程设计报告目录
II
目录
摘要.................................................................................................................................I
第1章绪论..................................................................................................................1
1.1项目背景...........................................................................................................1
1.2编写目的...........................................................................................................1
1.3项目开发环境...................................................................................................2
第2章相关技术..........................................................................................................3
2.1系统涉及语言..................................................................................................3
2.2开发工具..........................................................................................................3
第3章系统分析..........................................................................................................4
3.1需求分析..........................................................................................................4
3.2可行性分析......................................................................................................4
3.2.1进行可行性研究的方法........................................................................5
3.3系统设计目标..................................................................................................6
3.4功能结构图......................................................................................................7
第4章系统详细模块设计与实现..............................................................................8
4.1推箱子的界面框架按钮...................................................................................8
4.1.1界面框架与按钮设计的代码.................................................................8
4.1.2界面框架与按钮设计的图形效果.......................................................11
4.2推箱子游戏的游戏性与音乐性.....................................................................12
4.2.1地图的绘制代码:
...............................................................................12
4.2.2地图的绘制形成与地图的效果图.......................................................14
4.2.3音乐调用...............................................................................................15
4.3小人与箱子移动的算法.................................................................................16
4.3.1移动的代码...........................................................................................17
4.3.2栈的应用..............................................................................................19
总结..............................................................................................................................22
致谢..............................................................................................................................23
参考文献......................................................................................................................24
沈阳工程学院课程设计报告第1章绪论
1
第1章绪论
1.1项目背景
世界的发展,社会的进步,人们的物质生活和精神生活都得到了很大的飞跃,
尤其是在近十几年里,随着计算机技术的飞速发展,游戏的开发和设计似乎日新
月异。
可是人类在进步、国家在进步、世界在进步,那么必然会带来新的产物,
由前一个阶段向后一阶段过度。
在新的条件下,有必要实现更加完美的可视编程
技术,提高娱乐效果。
本系统从对推箱子的基本原理——地图变换的算法,着眼
于为Java的编程开发。
在计算机飞速发展的今天,将计算机这一信息处理利器应用于游戏娱乐已是
势必所然,而且这也将为人们的娱乐生活带来前所未有的改变,它可以带来意想
不到的效益,同时也会为游戏开发的飞速发展提供无限潜力。
采用Java开发平
台带来了明显的经济效益和社会效益。
主要体现在:
极大的提高了游戏的运行效
率。
基于游戏开发的全面自动化,可以减少设计过程中的漏洞,可以节约不少开
支,增加企业收入。
这样可使游戏开发商有更大的发展空间,被人们和社会所认
同,在社会上有它的位置和地位。
对于游戏设计的操作自动化和信息化,全面提
高了游戏的水平,让玩家员很容易的实现操作的自由化和视觉的舒适化。
对于客
户的管理,更明确和准确化,既保证了客户的安全,又利于管理者进行统计和查
询。
对于旅馆服务管理,很方便的提供客户必要的服务,让顾客得到满足。
具体
信息的处理有强大的数据库做后盾,它里面保存大量且重要的信息,实现了旅馆
管理的数据化,因为现在可以说是数据的时代,其实就是所谓的信息时代。
1.2编写目的
随着我国改革开放的不断深入,经济飞速的发展,游戏行业要想生存、发展,
要想在激烈的市场竞争中立于不败之地,没有现代化的开发技术是万万不行的,
游戏的开发的全面速度化、技术化则是其中极其重要的部分。
为了加快游戏开发
的步伐,提高游戏开发的效率,开发技术已变得十分重要。
推箱子游戏是目前比较流行的游戏之一,许多流行的操作系统或者是软件都
带有这种游戏,它既能锻炼人们思维的严谨性还能给人们带来快乐,我个人也很
喜欢这种游戏,因此,我就利用这个机会以面向对象程序设计方法将这个游戏设
计了出来。
当然我也借鉴了前人的一些经验技巧。
但是由于时间仓促加之个人经
验有限,游戏设计的有些粗糙,希望老师能够给予谅解,学生在以后的学习中将
不断学习、完善。
2
1.3项目开发环境
本游戏对系统的硬件环境要求:
CPU:
PentiumIII600以上
内存要求:
600MB以上
内存剩余资源:
128MB以上
软件环境:
JDK1.6及其以上版本
沈阳工程学院课程设计报告第2章相关技术
3
第2章相关技术
2.1系统涉及语言
Java语言是一种跨平台、适合于分布式计算机环境的面向对象的程序设计语
言。
具体来说它有如下特点:
简单性、面向对象、分布式、平台无关性、解释性、可靠、安全、可移植、
多性能、动态性等性能。
2.2开发工具
本系统开发时使用的是稳定性较强的的WindowsXP中文专业版,Java程序
设计的开发环境是JDK5.0。
Java的开发方式大体上分为两种:
一种方式是JDK(JavaDevelopKits)工具集,这是一种命令行的方式。
另
一种开发环境是(IntergratedDevelopmentEnvironment,IDE)。
采用JDK开发Java程序,能够很快理解各部分程序代码之间的关系,有利
于理解Java面向对象程序设计的思想。
JDK的一个显著特点就是随着Java的版
本的升级而升级,而它的缺点也是非藏明显的就是大规模的企业级Java开发非
常困难,不能进行复杂的Java软件开发,而且也不利于团体协同开发。
沈阳工程学院课程设计报告第3章系统分析
4
第3章系统分析
系统分析是一个描述系统开发各个早期阶段的词汇,是一种问题解决技术,
它将一个系统分解成各个组成部分,目的是研究各个部分如何工作、如何交互,
以实现其系统目标。
3.1需求分析
推箱子游戏主要分为初始化模块、画图模块、移动箱子模块、移动小人模块、
功能控制模块。
推箱子游戏功能模块图如图3.1所示。
图3.1功能模块图
研究方案:
(1)以现代软件工程原理和思想指导整个课题的开发过程,要经过系统可行
性分析、需求分析、概要设计、详细设计、编码、调试维护和安装实施等步骤。
(2)要有详细的设计说明书;
(3)每一模块的功能要很清晰;
(4)本游戏能够正常的运行,能较好得完成预定的功能;
(5)游戏要有完整的帮助文件,供玩家能方便的操作。
3.2可行性分析
5
1)引言
在当今社会,市场竞争的程度非常强盛,而且随着“蚁族”人群的大幅度上
升,人么的生活节奏变得越来越紧凑,压力越来越沉重,所以在这种环境下,为
人们解决加压问题成为一个焦点话题。
在本游戏系统中,我们本着“帮助人们减
压解负”的宗旨,为广大用户提供一个广阔的思考空间。
2)可行性研究的前提
(1)要求
a.功能:
能够准确快速的记忆,操作简便,我们使用上下左右方向键控制
画面动作。
通过对矩阵的选择来改变地图和画面。
在游戏界面的右上方显示的功
能键依次为“重来”、“悔一步”、“第一关”、“上一关”、“下一关”、“最终关”、
“选关”、“音乐关(开)”、“更换音乐”。
重来:
重新开始当前关;
悔一步:
返回上一移动状态(可以连续返回多步);
第一关:
游戏系统默认开始关为第一关,此按钮可以将关从其它关跳跃到第
一关。
上一关:
返回到当前关的上一关;
下一关:
返回到当前关的下一关;
最终关:
跳跃到最后一关,即第五十关;
选关:
选择想要玩的关;
音乐关(开):
默认为开,点击自动关闭音乐和开启音乐。
更换音乐:
从不同的音乐中选取适合玩家的音乐。
同时我们添加了菜单选项,在菜单栏里有“选项”、“设置音乐”、“帮助”菜
单。
“选项”菜单里包括“重新开始”、“下一关”、“上一关”、“悔一步”、“第一
关”、“最终关”、“退出”等功能。
b.性能:
稳定快速,实时控制。
c.完成期限:
5天(学习)+5天(开发试行)。
(2)目标
难易适中,适合大多数人休闲娱乐,本游戏注重入门简单,易于理解,开发
智力,提高人们思考问题能力和想象能力,改善人们的思考方式,拓展人们的思
维方式,本着全心全意为客户着想,至始至终贯穿我们的宗旨。
(3)条件、假定和限制
运行环境:
兼容当前主流操作系统Windows2003/XP/Vista
硬件环境:
***以上计算机。
开发软件:
JAVA等
该系统的预期寿命为×
年
最早投入运行的时间为2010年6月29日
3.2.1进行可行性研究的方法
6
通过调查问卷的方式对推箱子游戏进行全面的分析《对现行的推箱子游戏的
满意度调查》等。
评价尺度
费用不能超过X万元,信息更新的维护为重点开发时间的长短不超过3周,
使用起来容易上手。
投资及效益分析
为了新系统的开发,设计和维持运行而需要的各项经费开支,在起始阶段有
所增加,但是“效益”也将在短期实现。
支出
(1)系统开发费用
a.人员费用:
本系统开发期为3天,试运行2天。
开发期需要开发人员3
人,试运行期需要开发人员1人。
人员费用为x万元。
b.设备费:
本系统所需的硬件设备费用为x万元。
c.不可预见费:
按开发费用的15%计算。
(2)其他一次性支出
a.研究(需求的研究和设计的研究)——包括在开发费用中
b.检查费用和技术管理性费用
c.培训费、旅差费以及开发安装人员所需要的一次性支出
(3)非一次性支出
列出在该系统生命期内按月或按季或按年支出的用于运行和维护的费用,包
括:
a.设备的租金和维护费用;
b.软件的租金和维护费用;
c.数据通讯方面的租金和维护费用;
d.人员的工资、奖金;
e.房屋、空间的使用开支;
f.公用设施方面的开支;
g.保密安全方面的开支;
h.其他经常性的支出等。
(4)收益
提高工作效率;
减少工作人员;
以减少开支。
同时在用户下载的时候收取适
当的费用来维持本游戏的开发工作。
结论
经过一系列的各个不同方面的可行性分析,通过对玩家的问卷调查得出的结
果,取得需要解决的问题的基本的一致看法,开发小组的开发方案的到批准,老
师同意,开发工作开始进行。
3.3系统设计目标
7
根据前面所做的需求分析及用户的需求可以得出,推箱子游戏实施时,应达
到以下目标:
①界面设计友好、美观。
②数据存储安全、可靠。
③信息分类清晰、准确。
④操作简单,且易于记忆。
⑤音乐自选,以便适应玩家心理需求。
⑥自动选择关卡。
3.4功能结构图
根据游戏需求分析得出的结论,我们设计了五大功能模块初始化模块、画图
模块、移动箱子模块、移动小人模块、功能控制模块。
具体构架如图3.1所示。
图3.1功能结构
沈阳工程学院课程设计报告总结
8
第4章系统详细模块设计与实现
4.1推箱子的界面框架按钮
推箱子的界面设计是由我组李龙辉同学完成的,界面的设计要求是,提供多
种的按钮与菜单,为使用者提供方便的使用,例如:
选项、音乐的设置、关卡的
调配、以及对自己走过的步骤进行悔步。
设计其中包括了按钮的大小,界面的可
见性,以及一些特别细微的部分如:
4.1.1界面框架与按钮设计的代码
界面设计中包括了,所有你所直观见到的图形界面,窗体的大小,下拉菜单
中的功能菜单,使得玩家能够很直观的见到所有游戏中的功能。
界面中有菜单,
包括:
“选项”、“设置音乐”、“帮助”。
按钮包括:
“重来”、“悔一步”、“第一关”、
“上一关”、“下一关”、“最终关”、“选关”、“音乐”。
详细代码:
classmainFrameextendsJFrameimplementsActionListener,ItemListener
{
privatestaticfinallongserialVersionUID=1L;
JLabellb;
JLabellb2;
JButtonbtnrenew,btnlast,btnnext,btnchoose,btnfirst,btnover,btnmuc,btnback;
mainpanelpanel;
Soundsound;
JComboBoxjc=newJComboBox();
MenuItemrenew=newMenuItem("
重新开始"
);
MenuItemback=newMenuItem("
悔一步"
MenuItemlast=newMenuItem("
上一关"
MenuItemnext=newMenuItem("
下一关"
MenuItemchoose=newMenuItem("
选关"
MenuItemexit=newMenuItem("
退出"
MenuItemqin=newMenuItem("
琴萧合奏"
MenuItempo=newMenuItem("
泡泡堂"
MenuItemguang=newMenuItem("
灌篮高手"
MenuItemnor=newMenuItem("
默认"
MenuItemeye=newMenuItem("
eyesonme"
MenuItemabout=newMenuItem("
关于推箱子..."
mainFrame()
9
super("
推箱子v2.0"
setSize(720,700);
setVisible(true);
setResizable(false);
setLocation(150,10);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Containercont=getContentPane();
cont.setLayout(null);
cont.setBackground(Color.black);
Menuchoice=