说明书,推箱子,课程设计
2.2.1 系统模块图
本程序包括 5 个模块,分别是初始化模块、画图模块、移动箱子模块、移动小 模 块和功能控制模块,如图 1 所示。各个模块的功能描述如下:
(1)初始化模块。
该模块包括屏幕初始化和游戏第一关的初始化。屏幕初始化用于输出欢迎信息和操 作提示,游戏每一关的初始化是构建每一关的关卡。
(2)画图模块。
setmuc.add(nor); setmuc.add(qin); setmuc.add(po);
沈阳大学
课程设计说明书
NO.6
音乐调用代码如下:
void mystop()
{
midi.stop();
midi.close();
பைடு நூலகம்
sign=false;
}
boolean isplay()
{
return sign;
(4)游戏规则的设置
在游戏中要保证箱子不能重叠,箱子不能碰到墙壁,在设置过程中一定要将移动一次箱 子的位置后位置的布尔值要设置为 true,不然移动一次箱子后不能再移动。
(5)小人与箱子移动的算法
移动中包括正移动,与"悔一步"的负移动。正移动:小人上下左右的移动是,归结起来 上下左右是一个判断的算法,判断都是通过判断小人前面是否是空位箱子或者是墙,如 果没有,就移动;有的话,据判断箱子是否可以移动,最后讨论箱子推过的,小人移动, 以及被遮挡住点的图形变化,重新绘制地图,算法判断完毕.传出数据记录在一个栈当 中,以备“悔一步”使用。负移动:通过记录在栈中的数据判断,前一步是的移动方向以 及移动使用过的算法,逆向将代码重新运行,同时绘制地图以达到前一步的状态。
4. 设计结果与分析
沈阳大学
课程设计说明书
NO.8
4.1 程序运行结果
程序编译无错误,单击运行按钮,运行通过,开始时弹出该游戏的页面,然后开始 游戏。一般的会显示出第一关的游戏,玩家可以根据自己的实际水平去操作,而后选择 适于自己水平的关卡来玩。
第一关如下图 3 所示
图 3 游戏第一关界面
当玩家想选关时,可以根据自己的意愿去选关闯。选第 50 关,如下图 4 所示图 4 游戏 成功界面。
6.参考文献
[1] 张永常等.JAVA 程序设计实践教程[M].北京:清华大学出版社,2010,155-158 [2] 梁勇.Java 语言程序设计[M].北京:机械工业出版社,2011,89-91 [3] 郑莉.Java 程序设计[M]. 北京:清华大学出版社,2011,85-90 [4] 张广彬.Java 课程设计[M].北京:清华大学出版社,2011,189-193 [5] 文杰书院.JAVA 程序设计完全自学手册[M].北京:机械工业出版社,2010,97-101
从课堂上老师教给的在 dos 界面中输入 Javac 文件名.java 编译、Java 文件名 运行到
在 EditPlus 中选中“工具”、“配置用户组“,设置编译和执行相关参数,按快捷键
Ctrl+1 编译、Ctrl+2 运行,节省了大量时间,使编程效率有了很大的提高。
对于推箱子游戏,更是有了进一步的了解,其中用到了 9 张图片,用户可以通过改 变图片来改变游戏的显示界面,当然,这个是不被允许的,因为每个程序的代码都有版 权,但对于设计者而言,却可以更加清楚的了解代码的内部构造,达到熟能生巧的效果。
沈阳大学
课程设计说明书
NO.11
附录
程序具体代码:
(1)主界面设置代码如下:
class mainFrame extends JFrame implements ActionListener,ItemListener
游戏同时还具有时间和步数的记录,在开始游戏之前首先把图片添加到 pic 目录下, 程序会自动获取该目录下的所有文件。
标有 数字 4 的位置表示 该位置是游戏主角的初始位置
沈阳大学
课程设计说明书
开始游戏
第一关开始
NO.4
是否成 功?
否 是
显示通关信息
选下一关
是
是否继续闯
否
结束游戏
图 2 游戏运行流程图
(1)初始化包括屏幕初始化和每一关卡的初始化,屏幕被初始化宽 80 像素,高 25 像 素。
(2)按键处理包括移动小人和移动箱子,通过移动上下左右键来控制小人的移动,从 而推动箱子,以把箱子推到指定的目的地为过关。
(3)每一关都可以重置,按选项——重新开始可以重置当前关。
(4)可以进行选关操作,按选项——选关可以选择 1-10 关的任一关。
通过课程设计,巩固 Java 基础知识,增进编程基本功,熟练 eclipse 和 EditPlus 的使用方法,通过该系统的设计与开发,将所学知识真正的应用于实践当中,培养实际 动手能力。并在设计实践过程中,学习到更深的知识,掌握先进的 Java 技术,从而来 增强对一个系统设计的整体认识,熟悉软件开发过程,更深刻的理解软件工程的知识
3.2 程序中主要方法说明
(1)界面框架与按钮设计 界面设计中包括了,所有你所直观见到的图形界面,窗体的大小,下拉菜单中的功能菜 单。使得玩家能够很直观的见到所有游戏中的功能,界面中有菜单, 包括:“选项”“设 置音乐”“帮助”,按钮包括:“重来”“悔一步”“第一关”“上一关”“下一 关”“最终关”“选关”“音乐”。 部分代码如下: Menu setmuc=new Menu("设置音乐");
沈阳大学
课程设计说明书
NO.3
推箱子游戏
初 始 化 模 块
画 图 模 块
移 动 箱 子 模 块
移 动 小 人 模 块
功 能 控 制 模 块
图 1 游戏运行界面
2.2.2 任务执行流程图
游戏从第一关开始,按上下左右方向键控制小人移动来推动箱子,可以在游戏中的 任何时候按退出键退出。如果游戏无成功希望,可以按空格键回到当前任务的开始状态; 如果成功完成当前关,则显示通关信息,如果想继续闯,按回车闯下一关,否则结束游 戏。
课程设计说明书
NO.1
推箱子小游戏
1.课程设计的目的
随着科技水平的发展,人们的生活,工作节奏越来越快,同时人们的各方面的压力 也越来越大。在社会的条件下,压力给人们带来很多烦恼,所以合理的解压,但又不会浪 费很多时间的方式成为现代人的共同心愿。游戏随之产生,他的娱乐性和有趣性也越来 越被大家所认可,小游戏可以安装在手机里,让人们无论何时何地都能玩到游戏。基于 这样的目的, 我们在本次课程设计中为大家开发了一款适合休闲娱乐的小游戏—推箱 子趣味游戏。他不仅可以帮助人们消磨时间,还可以在一定程度上开发智力,
对于以上的问题,自己有清楚的认识,解决办法是需要大量阅读相关的书籍,对于 书上以及网站上下载的资料中的 Java 实例必须有清楚的理解,还有就是多跟精通此方 面的老师和同学交流,取其精华。对于实际动手能力与系统开发的流程的适应,必须多 进行实际的练习与操作,才能有大的进步。
5.设计体会
为期一周的课程设计很快就结束了,回顾这一周,累并快乐着。从老师开始给布置 沈阳大学
沈阳大学
课程设计说明书
NO.2
(5)可以返回至上一位置,按选项——返回可以退回到上一位置,相当于悔一步。
(6)按选项——退出键可以在任何时候退出游戏。
2.2 系统总体设计
在此游戏中本着娱乐为目的,游戏者不仅可以在玩游戏还可以享受音乐,游戏界 面简单,操作容易,在玩游戏的同时还可以锻炼大家的反应速度及灵敏程度,在游戏 中设置关数,级别由低到高,一关比一关难,提高大家的兴趣,玩家可以自由的选关, 并设置了分数的存储系统。系统中又增加了音乐的设置可以让玩家享受音乐。通过对 小人移动箱子是否到达墙边进行判断决定胜负及是否可以进入下一关。
该模块主要是被其它模块调用,用于画墙、在空地画箱子、在目的地画箱子、画小 人和画目的地。
(3)移动箱子模块。
该模块用于移动箱子,包括目的地之间、空地之间和目的地与空地之间的箱子移动。 (4)移动小人模块。
该模块用于控制小人移动,从而推动箱子到目的地。
(5)功能控制模块。
该模块是几个功能函数的集合,包括屏幕输出功能、指定位置状态判断功能和关卡 重置功能。
课程设计说明书
NO.10
课程设计的题目、内容及要求到自己广泛借助互联网查阅资料并独立完成 Java 推箱子
小应用程序;从两周前刚接到任务时的茫然与无助到两周后的清晰与明了;从对 Java
的编辑器 EditPlus 和 eclipse 初步了解到熟练运用,历经了太多的困难。对于环境变
量的配置,我做到了知其然,知其所以然,对 EditPlus 的了解也完全上升了一个层次
}
(2)地图的绘制形成
地图以二维数组的形式进行存储的,不同的数字有着不同的含义。在地图当中不同的数 字代表不同的含义我当时是将 0~9 解读成为不同的图形与图像。
①"0"代表"地图以内的空位";
②"1"代表"地图中的边缘";
③"2"代表"地图以内的空位非点位;
④"3"代表"地图中的箱子";
⑤"4"代表"点位";
游戏的帮助和关于设计人性化,在写代码是遇次课程设计,将我本周所学的 JAVA 知识得到巩固和应用,在设计的过程中我遇到了很到问题,不过在老师和同学们的 帮助和自己的思考下还是很好的完成了。这此课程设计还让我懂得了写程序不能闭门造 车,要努力拓宽知识面,开阔视野,拓展思维。它还让我学会了在网上查阅那些无限的 资料。通过对推箱子游戏的开发,使我对用 eclipse 开发平台和 EditPlus 编辑器有了 一个比较清楚的认识,体会到理论和实践的重要性。
(6)移动的代码
在本游戏系统中,给人的视觉感受应该是能感受都动作的变化,逼真的人物 动作会使 系统更有效。通过控制人物,箱子,空地,障碍物在数组中的位置的改变来控制移动动 作。