推箱子实验报告Word文档格式.docx
《推箱子实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《推箱子实验报告Word文档格式.docx(9页珍藏版)》请在冰豆网上搜索。
JAVA
程序设计课程,深入学习掌握
语言,熟练运用
Java
工具对系统的编写。
通过课程设计各个项目的综合训练,培养学生实
际分析问题,编程和动手能力,提高学生的综合素质。
1.2项目目标
本设计要求采用java语言编程,java中的类和封装特性,实现游戏中控制游戏中的人物行走推移箱子,选关,选音乐等游戏的基本功能。
对该游戏系统功能模块进行详细分析,写出详细设计说明文档,编写程序代码。
调试程序使其能正确运行。
图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
小结
通过这次课程设计我充分了解了理论与课程设计相结合的重要性,理论基础上必须有实际上的应用,在实际的应用中才能发现个种问题,再灵活的应用理论知识去解决它们。
在这一周的学习过程中,我不仅能够把以前所学知识联系起来,并且还学会了一些新的知识,在此期间通过对
设计的系统训练,使我基本上达到了这周的课程设计目的,并且懂得了要想学好课,除了要有扎实的基础知识的功底深厚外,还需要有一定的实践动手能力,操作能力。
参考文献
[1]
马朝晖(译).JAVA教程(第4版).北京:
人民邮电出版社,2007
[2]
王国辉等.JAVA程序设计自学手册.北京:
人民邮电出版社,2008
[3]
耿祥义.JAVA2
实用教程.北京:
清华大学出版社,2006
[4]
朱仲杰.JAVA2
全方位学习.北京:
机械工业出版社,2006
[5]
张思民.JAVA程序设计实践教程.北京:
[6]
汤一平.Java
语言程序设计.北京:
科学出版社,2006
[7]
刘艺.Java
程序设计大学教程.
北京:
[8]
耿祥义.Java课程设计.北京:
清华大学出版社,2003
[9]
Sharon
Zakhour.
Java教程.
人民邮电出版社,2007
[10]王保罗.Java面向对象程序设计[M].北京:
清华大学出版社,2003年