Java课程设计推箱子游戏.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
推箱子小游戏 1. 课程设计的目的 通过课程设计,巩固 Java 基础知识,增进编程基本功,熟练 eclipse 和 EditPlus 的使用 方法,通过该系统的设计与开发,将所学知识真正的应用于实践当中,培养实际 动手能力。并在 设计实践过程中,学习到更深的知识,掌握先进的 Java 技术,从而来 增强对一个系统设计的整体认识,熟悉软件开发过程,更深刻的理解软件工程的知识。 2. 设计方案论证 2.1 设计思路 经典的推箱子是一个来自日本的古老游戏,目的是在训练人的逻辑思考能力。在一 个狭小的 仓库中,要求把木箱从开始位置推放到指定的位置。在仓库有障碍物,稍不小 心就会出现箱子无 法移动或者通道被堵住的情况,而且箱子只能推,不能拉,所以需要 巧妙的利用有限的空间和通 道,合理安排移动的次序和位置, 才能顺利的完成任务。本 游戏一共 10 关,由易到难,每一关都 有初化、按键处理、重置及退出功能。 (1 )初始化包括屏幕初始化和每一关卡的初始化,屏幕被初始化宽 80 像素,高 25 像素。 (2) 按键处理包括移动小人和移动箱子, 通过移动上下左右键来控制小人的移动, 从而 推动箱子, 以把箱子推到指定的目的地为过关。 (3) 每一关都可以重置, 按选项 一一重新开始可以重置当前关。 (4) 可以进行选关操作,按选项 一一选关可以选择 1-10 关的任一关。 (3) 可以返回至上一位置, 按选项 一一返回可以退回到上一位置, 相当于悔一步。 (4) 按选项一一退出键可以在任何时候退出游戏。 2.2 详细设计 2.2 . 1 系统模块图 本程序包括 5 个模块,分别是初始化模块、画图模块、移动箱子模块、移动小 模块和功能控制模块,如图 1 所示。各个模块的功能描述如下: (1) 初始化模块。 该模块包括屏幕初始化和游戏第一关的初始化。屏幕初始化用于输出欢迎信息和操 作提示, 游戏每一关的初始化是构建每一关的关卡。 (2) 画图模块。 该模块主要是被其它模块调用,用于画墙、在空地画箱子、在目的地画箱子、画小 人和画目的地。 (3 )移动箱子模块。 该模块用于移动箱子,包括目的地之间、空地之间和目的地与空地之间的箱子移动。 (4 )移动小人模块。 该模块用于控制小人移动,从而推动箱子到目的地。 (5 )功能控制模块。 该模块是几个功能函数的集合,包括屏幕输出功能、指定位置状态判断功能和关卡 重置功能。 图 1 系统模块图 2.2 . 2 任务执行流程图 游戏从第一关开始,按上下左右方向键控制小人移动来推动箱子,可以在游戏中的 任何时候 按退出键退出。如果游戏无成功希望,可以按空格键回到当前任务的开始状态; 如果成功完成当 前关,则进入下一关,如果当前关是最后一关,则显示通关信息,提示 游戏结束。 游戏同时还具有时间和步数的记录,在开始游戏之前首先把图片添加到 pic 目录下, 程序会 自动获取该目录下的所有文件, 图 2 任务流程图 2.2 . 3 类及实现的功能 本程序包括三个类文件:主类 Ma in .java,类 Gui.java,类 Readm ap.java。其中 类 Main .java 包含 mai n ()方法。 Mai n exte nds JFrame. Gui 继承 JFrame 并且实现 ActionListener 这个接口。 AbstractAction() Action 接口提供 ActionListener 接口的一个有用扩 展,以便若干控件访问相同的功能。 Readmap.java 主要是实现地图的初始化以及每一关地 图的重载。 keyPressed 的功能是响应工人和箱子的移动以及工人、箱子、墙之间的碰 撞检测。 表 1 成员变量表 名 名称 Start fHeight fWidth timer delay starttime steps mapPa nel in structi on Start 备注 变量类型 Boolea n int int Timer int Date int Map Pa nel Stri ng Boolea n 表 2 方法表 功能 成员变量 开始状态 窗口咼度 窗口宽度 计时器 延时 开始时间 步数 地图容器 玩法介绍 开始状态 方法名 Puzzle( ) backact ion() getmap() StartGame() en dgame() getmap()/ menu ShowClik() actio nPeformed () men uExit() flush() 创建游戏窗口和设置图 后台操作 返回地图的方法 开始游戏控制,更新开始 菜单 弹出结束

文档评论(0)

小石头 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档