2024年推箱子实验报告_第1页
2024年推箱子实验报告_第2页
2024年推箱子实验报告_第3页
2024年推箱子实验报告_第4页
2024年推箱子实验报告_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

青岛大学软件技术学院游戏制作实践实训题目名称推箱子游戏姓名丁帅帅专业数字媒体艺术班级3班指引教师解新峰年1月16日目录217601引言 3177571.1选题目标 3324241.2项目目标 3272852推箱子系统概述 4313822.1系统总体设计 4157842.2系统功效模块规划 440652.3系统功效结构图 4187553推箱子系统的详细设计 560223.1程序中自定义类阐明 525193.2程序中重要措施阐明 562773.2.1界面框架与按钮设计 512263.2.2地图的绘制形成 6234233.2.3推箱子游戏的游戏性 660183.2.4小人与箱子移动的算法 6110133.2.5栈的应用 7169024推箱子系统的实现和运行 7204344.1运行成果 74735小结

917848参考文献 91引言1.1选题目标伴随科学技术的发展,人们的生活水平越来越繁忙,在布满竞争的社会条件下,压力往往带给人们诸多烦恼,因此合理的解压方式称为当代人的共同心愿。为了给大家提供一个合理的解压平台,

我们在本次课程设计中为大家开发了一款适合休闲娱乐的小游戏,

本次课程设计是配合

JAVA

程序设计课程,深入学习掌握

JAVA

语言,纯熟利用

Java

工具对系统的编写。通过课程设计各个项目标综合训练,培养学生实

际分析问题,编程和动手能力,提升学生的综合素质。1.2项目目标本设计要求采取java语言编程,java中的类和封装特性,实现游戏中控制游戏中的人物行走推移箱子,选关,选音乐等游戏的基本功效。对该游戏系统功效模块进行详细分析,写出详细设计阐明文档,编写程序代码。调试程序使其能正确运行。2推箱子系统概述2.1系统总体设计在此游戏中本着娱乐为目标,游戏者不但能够在玩游戏还能够享受音乐,游戏界面简单,操作轻易,在玩游戏的同时还能够锻炼大家的反应速度及灵敏程度,在游戏中设置关数,级别由低到高,一关比一关难,提升大家的兴趣,玩家能够自由的选关,并设置了分数的存储系统。系统中又增加了音乐的设置能够让玩家享受音乐。通过对小人移动箱子是否抵达墙边进行判断决定胜负及是否能够进入下一关。2.2系统功效模块规划在该系统中总共划分了五个模块

(1)初始化模块,对游戏界面进行初始化操作,对各个按钮的功效进行操作使之当动作发生时有一定的反应及对应。

(2)画图模块,重要是对地图的绘制进行画图的操作,在此游戏中不一样的数字代表不一样的含义。

(3)移动箱子模块,在推箱子游戏中最重要的模块,用户能够移动箱子到界面中的各个地方,以完成游戏设定的任务。

(4)移动小人模块,同过对小人的操作使之小人能够操作木块到各个位置。

(5)功效控制模块,通过对此功效的设置,能够对游戏的功效进行设置,能够设置背景音乐,及通过的关数进行某些必要的设定。2.3系统功效结构图推箱子游戏重要分为初始化模块,

画图模块,

移动箱子模块,

移动小人模块,

功效控制模块.推箱子游戏功效模块图(如图2.3

所示)。系统功效模块系统功效模块移动小人模移动小人模块初始化功能功能控制模块移动箱子模块画图模块图2.33推箱子系统的详细设计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程序设计实践教程.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论