1、 面向对象程序设计面向对象程序设计 课程设计报告课程设计报告 题 目: 经典推箱子趣味游戏设计与实现 院 (系) : 信息科学与工程学院 专业班级: 计算机科学与技术 1201 班 20 14 年 12 月 29 日至 20 15 年 1 月 9 日 面向对象程序设计面向对象程序设计 课程设计任务书课程设计任务书 一、设计(调查报告一、设计(调查报告/ /论文)题目论文)题目 经典推箱子趣味游戏设计与实现 二、设计(调查报告二、设计(调查报告/ /论文)主要内容论文)主要内容 内容: 本游戏要求用户将游戏地图中所有放置着的箱子推到指定的地点来完成游戏,用户 通过绕开地图中的障碍物将可移动的箱子
2、推到目的地,游戏的难度在于要求用户通过合 理的路径安排来使所有的箱子最后都到达目的地。游戏一共 50 关,随着关数的升高, 游戏的难度随之增大。 基本功能与要求: 1 初始化游戏界面设计 2 地图的绘制 3 每一关都按照数组重新绘制地图 4 小人与箱子的移动 5 完成“悔一步“的操作。 三、原始资料三、原始资料 1.面向对象程序设计课程设计指导书 2. 耿祥义JAVA 大学实用教程北京:清华大学出版社,2009 四、要求的设计(调查四、要求的设计(调查/ /论文)成果论文)成果 1.课程设计报告 2.课程设计软件 五、进程安排五、进程安排 布置任务,查找资料、需求分析 1 天 总体设计 1 天
3、 详细设计 1.5 天 编制源程序实现 3.5 天 测试与修改 1 天 撰写课设报告 2 天 六、主要参考资料六、主要参考资料 1 张广彬. Java 课程设计案例精编(第二版).北京:清华大学出版社, 2011. 2 耿祥义. Java 课程设计(第二版).北京:清华大学出版社, 2008. 3 耿祥义JAVA 大学实用教程北京:清华大学出版社,2009 4 邹林达陈国君 Java2 程序设计基础北京:清华大学出版社,2010 5 邹林达Java2 程序设计基础实验指导北京:清华大学,2010 指导教师(签名) :指导教师(签名) : 20 20 年年 月月 日日 目 录 1 需求与总体设计
4、1 1.1 需求分析1 1.2 总体设计2 2 详细设计4 2.1 mainFrame 类4 2.2 mainpanel 类5 2.3 Sound 类7 2.4 Readmap 类7 3 编码实现 9 3.1 游戏源码9 4 系统测试42 总结45 1 1 需求与总体设计 1.1 需求分析 1.1.1 功能结构图 推箱子游戏的功能结构图如图 1.1 所示。 在系统中,编写 4 个 Java 类:mainFrame,mainpanel,Sound,Readmap;分别对应初 始化游戏界面,游戏操作,背景音乐,绘制地图。 推箱子游戏 初始化游戏界面绘制地图游戏操作背景音乐 上一曲 上移下移左移右移
5、 下一曲 选择关卡(150) 人物移动箱子移动 图 1.1 2 1.1.2 UML 类图 推箱子系统除了上述 4 个 Java 类外,还需要 Java 系统提供的一些重要的类。这些 类之间的 UML 图如图 1.2 所示。 图 1.2 1.2 总体设计 1.2.1 mainFrame 类 mainFrame 类负责创建系统的主窗口。mainFrame 类有多种重要类型的对象,这些 对象构成了游戏界面的简明与美观,并且通过监听实现方法赋予了这些组件的相应功 能。 MainFrame 类通过调用 Readmap 类来实现将地图绘制在游戏主界面, 通过调用 Sound 类来实现对背景音乐的管理,实现音乐开关以及选择上一曲下一曲的操作。 设计中包括了所有你所能直观见到的图形界面,窗体的大小,下拉菜单中的功能菜 单,使得玩家能够很直观的见到所有游戏中的功能.界面中有菜单, 包括:“选项“