基于Java的推箱子游戏_第1页
基于Java的推箱子游戏_第2页
基于Java的推箱子游戏_第3页
基于Java的推箱子游戏_第4页
基于Java的推箱子游戏_第5页
免费预览已结束,剩余16页可下载查看

下载本文档

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

文档简介

基于Java的推箱子游戏,设计背景,此次毕业设计基于java语言。将游戏地图做成通用的关卡设计,关卡用二维数组实现,在二维数组中设置值域来表示不同对象,运用二维数组的遍历算法来加载对应图片实现了游戏图片初始化状态。同时,通过初始化多个不同二维数组实现了游戏地图关卡的设计,方法巧妙且简单易行,有效的解决了图片排布问题。充分运用类和方法的调用来实现游戏关卡的初始化。用读取键值的方法判断游戏人物移动、停止、到达目的地。,可行性分析,技术可行性:开发该系统我所用到的是JAVA语言,主要使用到的是AWT技术进行界面美化设计,对于人物移动等逻辑处理过程,我主要使用的是二维数组进行判定。在技术的选用上我选择的都是现在比较成熟的语言,所以在技术上是可行的。 经济可行性:本系统的开发我所使用的都是现在流行的开源软件和一台个人笔记本电脑,所以在经济上对学生的我不会有太大问题。,技术和开发环境介绍,Java语言:面向对象、简单、平台无关性、安全性、多线程的语言。 Eclipse:集成开发工具,是开源的,基于JAVA的可拓展的开发平台。 Swing:用户界面开发工具包,以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。 JDK:JDK就是JAVA语言的开发工具包,它是JAVA开发的核心,包括了JAVA运行环境,JAVA工具和JAVA基础类库。,需求分析,游戏界面需求:简洁美观的用户界面,可以带给用户自然清晰的画面。 游戏内容需求:良好的小人与箱子设计,可以给玩家带来更真实的感觉。小人需要前、后、左、右四张图片,移动中的箱子与终点上的箱子要所有区别,使玩家真是感受到箱子被推入终点。 键盘处理事件:控制小人与箱子的移动,可通过键盘方向键(上、下、左、右键)对小人进行上、下、左、右的移动,并且能够推动箱子。 显示需求:当所有箱子都到达指定位置后即可过关,若进入死角则由玩家选择重新开始本关或者退出当前游戏,通过本关之后可以选择下一关或者退出游戏。,系统模块,模块功能介绍,(1)初始化模块:该模块包括屏幕初始化和游戏第一关的初始化。屏幕初始化用于输出欢迎信息和显示关于开发者的版本信息等。 (2)画图模块:该模块主要是被其它模块调用,用于画墙、在空地画箱子、在目的地画箱子、画小人和画目的地,每次生成不通关卡和地图时此函数可以重用。 (3)移动箱子模块:该模块用于移动箱子,包括目的地之间、空地之间和目的地与空地之间的箱子移动。 (4)移动小人模块:该模块用于控制小人移动,并且随时判端人物是否遇到障碍或者已经进入指定位置,从而推动箱子到目的地。 (5)功能控制模块。该模块是几个功能函数的集合,包括屏幕输出功能、指定位置状态判断功能和关卡重置功能。,界面框架与按钮设计,游戏界面简单清晰,操作界面优美,有很强的带入性,游戏操作模块分为:“悔一步”,“重来”,“上一关”,“下一关”,“第1关”,“最终关”,“选关”“音乐关” 。 “悔一步”:返回上一移动状态(可以连续返回多步); “重来”:重新开始当前关; “上一关”:返回到当前关的上一关; “下一关”:跳转到当前关的下一关; “第1关”:游戏系统默认开始关为第一关,此按钮让玩家可以方便从其它关卡直接跳转到第一关; “最终关”:可以跳转到最后一关,即游戏系统默认的最后一个关。,选关模块,“选关”:选择想要挑战的关卡。当游戏玩家想要自主选择关卡时,可以随意输入想要跳入的关卡,节约了时间,玩家同过选择的关卡可以有效地挑战自我,连接上次的游戏进度。,地图绘制模块,地图以二维数组的形式进行存储,不同的数家代表了不同的含义。在本小游戏的地图文件中,09这十个数字的定义如下所示: 编号0:代表未定义的区域; 编号1:代表障碍物(或者边界); 编号2:代表草地; 编号3:代表箱子(未到指定位置); 编号4:代表目的地; 编号5:代表小人向下移动方向; 编号6:代表小人向左移动方向; 编号7:代表小人向右移动方向; 编号8:代表小人向上移动方向; 编号9:代表到达指定位置时的箱子。,地图文件与相应界面,移动模块,正移动:小人向上、下、左、右的移动是一个判断算法,其判断都是通过判断小人前面是否是草地或者是箱子或者是障碍物(或者边界)。如果是障碍物或者是边界,就不能够进行移动;如果是没有箱子或者是障碍物,就可以自由移动;又如果是有箱子,就要判断是否可以移动箱子,最后再讨论箱子被推过的位置,小人移动的位置,以及它们的原位置和被遮挡住的新位置的图形变化等等,需要运用算法使其重新绘制地图,填补空白。算法判断完毕后,传出数据并且将其记录在一个堆栈中,以备“悔一步”时使用。 负移动:通过记录在堆栈中的数据来判断,前一步小人的移动方向以及移动中使用过的算法,逆向将代码重新运行,同时绘制并刷新地图以达到前一步的状态。,悔棋模块,在推箱子小游戏中,数据的存储是非常重要的,不然就无法进行“悔一步”的操作。本小游戏系统受用了堆栈的存储方式来存储并且控制小人与箱子的移动以及地图文件的变换。而“悔一步”的操作让玩家可以进行反悔这一步操作,可避免因一时失手走错而导致的阻塞书面,可以节省玩家重新开始的时间。,音乐控制,在推箱子小游戏中,音乐的选择是非常重要的,通过音乐选择可以提高游戏的娱乐性。让游戏玩家可以再轻松越快的环境中进行游戏,用到了Java MIDI的sequence类和getsequence()方法。,系统功能测试分析,经过对系统进行测试和运行。总结出游戏系统性能如下: (1)界面友好,游戏操作方便 系统风格可爱,界面简单,功能较完善,游戏操作简单。 (2)系统响应较快,运行较稳定 在系统运行时,游戏过程中的消息响应处理很快,且系统整体运行安全且稳定。 (3)部分系统功能仍需完善 由于开发时间等方面的原因,该系统还可以在联网进行玩家比赛、难度调节等方面予以完善。,项目经验,通过编写本次毕业设计程序,我完成了基于JAVA的推箱子小游戏的软件开发任务。在这其间,我遇到了许多问题,并且明白了理论与实际结合的重要性,在充分的理论基础上必须有足够的实际应用,这样才能找到问题,解决问题。巩固旧知识,学习新知识。,总结,通过这次课程设计我充分了解了理论与课程设计相结合的重要性,理论基础上必须有实际上的应用,在实际的应用中才能发现个种问题,再灵活的应用理论

温馨提示

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

评论

0/150

提交评论