推箱子实验报告.docx
- 文档编号:10686675
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:10
- 大小:381.46KB
推箱子实验报告.docx
《推箱子实验报告.docx》由会员分享,可在线阅读,更多相关《推箱子实验报告.docx(10页珍藏版)》请在冰豆网上搜索。
推箱子实验报告
青岛大学软件技术学院
游戏制作实践实训
题目名称推箱子游戏
姓名丁帅帅
专业数字媒体艺术
班级3班
指导老师解新峰
年1月16日
1引言
1.1选题目
伴随科学技术发展,大家生活水平越来越繁忙,在充满竞争社会条件下,压力往往带给大家很多烦恼,所以合了解压方法称为现代人共同心愿。
为了给大家提供一个合了解压平台, 我们在此次课程设计中为大家开发了一款适合休闲娱乐小游戏, 此次课程设计是配合 JAVA 程序设计课程,深入学习掌握 JAVA 语言,熟练利用 Java 工具对系统编写。
经过课程设计各个项目综合训练,培养学生实 际分析问题,编程和动手能力,提升学生综合素质。
1.2项目目标
本设计要求采取java语言编程,java中类和封装特征,实现游戏中控制游戏中人物行走推移箱子,选关,选音乐等游戏基础功效。
对该游戏系统功效模块进行具体分析,写出具体设计说明文档,编写程序代码。
调试程序使其能正确运行。
2推箱子系统概述
2.1系统总体设计
在此游戏中本着娱乐为目,游戏者不仅能够在玩游戏还能够享受音乐,游戏界面简单,操作轻易,在玩游戏同时还能够锻炼大家反应速度及灵敏程度,在游戏中设置关数,等级由低到高,一关比一关难,提升大家爱好,玩家能够自由选关,并设置了分数存放系统。
系统中又增加了音乐设置能够让玩家享受音乐。
经过对小人移动箱子是否抵达墙边进行判定决定胜败及是否能够进入下一关。
2.2系统功效模块计划
在该系统中总共划分了五个模块
(1)初始化模块,对游戏界面进行初始化操作,对各个按钮功效进行操作使之当动作发生时有一定反应及对应。
(2)画图模块,关键是对地图绘制进行画图操作,在此游戏中不一样数字代表不一样含义。
(3)移动箱子模块,在推箱子游戏中最关键模块,用户能够移动箱子到界面中各个地方,以完成游戏设定任务。
(4)移动小人模块,同过对小人操作使之小人能够操作木块到各个位置。
(5)功效控制模块,经过对此功效设置,能够对游戏功效进行设置,能够设置背景音乐,及经过关数进行部分必需设定。
2.3系统功效结构图
推箱子游戏关键分为初始化模块, 画图模块, 移动箱子模块, 移动小人模块, 功效控制模块.推箱子游戏功效模块图(如图2.3 所表示)。
图2.3
3推箱子系统具体设计
3.1程序中自定义类说明
(1)重来:
重新开始目前关;
(2)悔一步:
返回上一移动状态(能够连续返回多步) ;
(3)第一关:
游戏系统默认开始关为第一关,此按钮能够将关从其它关跳跃到第一关;
(4)上一关:
返回到目前关上一关;
(5)下一关:
返回到目前关下一关;
(6)最终关:
跳跃到最终一关,即第五十关;
(7)选关:
选择想要玩关;
(8)音乐关(开):
默认为开,点击自动关闭音乐和开启音乐;
(9)更换音乐:
从不一样音乐中选择适合玩家音乐。
3.2程序中关键方法说明
3.2.1界面框架与按钮设计
界面设计中包含了,全部你所直观见到图形界面,窗体大小,下拉菜单中功效菜单。
使得玩家能够很直观见到全部游戏中功效,界面中有菜单, 包含:
“选项”“设置音乐”“帮助”,按钮包含:
“重来”“悔一步”“第一关”“上一关”“下一关”“最终关”“选关”“音乐”,部分代码以下:
Menusetmuc=newMenu("设置音乐");
setmuc.add(nor);
setmuc.add(qin);
setmuc.add(po);
音乐调用代码以下:
voidmystop(){
midi.stop();
midi.close();
sign=false;
}
booleanisplay(){
returnsign;
}
3.2.2地图绘制形成
地图以二维数组形式进行存放,不一样数字有着不一样含义。
在地图当中不一样数字代表不一样含义我当初是将 0~9 解读成为不一样图形与图像。
①"0"代表"地图以内空位";
②"1"代表"地图中边缘";
③"2"代表"地图以内空位非点位;
④"3"代表"地图中箱子";
⑤"4"代表"点位";
⑥"5"代表"小人面部朝下";
⑦"6"代表"小人面部朝左";
⑧"7"代表"小人面部朝右";
⑨"8"代表"小人面部朝上";
⑩"9"代表"箱子已经抵达点位。
3.2.3推箱子游戏游戏性
其关键功效是给用户一个友好游戏界面,游戏中包含50关地图,推箱 子这个游戏50个地图是事先完成,将全部地图上面信息以数字形式储存在一个 20*20 二维数组当中;然后每一关都根据数组重新绘制地图,这么就拥有了50张地图。
3.2.4小人与箱子移动算法
移动中包含正移动,与"悔一步"负移动。
正移动:
小人上下左右移动是,归结起来上下左右是一个判定算法,判定都是经过判定小人前面是否是空位箱子或者是墙,假如没有,就移动;有话,据判定箱子是否能够移动,最终讨论箱子推过,小人移动,以及被遮挡住点图形改变,重新绘制地图,算法判定完成.传出数据统计在一个栈当中,以备“悔一步”使用。
负移动:
经过统计在栈中数据判定,前一步是移动方向以及移动使用过算法,逆向将代码重新运行,同时绘制地图以达成前一步状态。
程序代码程序类以下:
voidmoveup();
voidbackup();
voidmovedown();
voidbackdown();
voidmoveleft();
voidbackleft();
voidmoveright();
voidbackright();
3.2.5栈应用
推箱子中数据存放是很关键,不然无法进行“悔一步”操作本系统。
采取栈存放方法来存放并控制人物,箱子移动和地图变换,悔一步操作让 玩家有了反悔一步,这节省玩家时间,避免因错位造成重新开始。
4推箱子系统实现和运行
4.1运行结果
如图(图4.1.1,图4.1.2,图4.1.3)
图4.1.1
图4.1.2
图4.1.2
小结
经过这次课程设计我充足了解了理论与课程设计相结合关键性,理论基础上必需有实际上应用,在实际应用中才能发觉个种问题,再灵活应用理论知识去处理它们。
在这一周学习过程中,我不仅能够把以前所学知识联络起来,而且还学会了部分新知识,在此期间经过对 JAVA 设计系统训练,使我基础上达成了这周课程设计目,而且知道了要想学好课,除了要有扎实基础知识功底深厚外,还需要有一定实践动手能力,操作能力。
参考文件
[1] 马朝晖(译).JAVA教程(第4版).北京:
人民邮电出版社,
[2] 王国辉等.JAVA程序设计自学手册.北京:
人民邮电出版社,
[3] 耿祥义.JAVA2 实用教程.北京:
清华大学出版社,
[4] 朱仲杰.JAVA2 全方位学习.北京:
机械工业出版社,
[5] 张思民.JAVA程序设计实践教程.北京:
清华大学出版社,
[6] 汤一平.Java 语言程序设计.北京:
科学出版社,
[7] 刘艺.Java 程序设计大学教程. 北京:
机械工业出版社,
[8] 耿祥义.Java课程设计.北京:
清华大学出版社,
[9] Sharon Zakhour. Java教程. 北京:
人民邮电出版社,
[10]王保罗.Java面向对象程序设计[M].北京:
清华大学出版社,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 箱子 实验 报告