已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
指导教师:,Java版扫雷的设计与实现,班级:学生:学号:45,论文的结构和主要内容,论文主要包含有以下几部分:背景及意义游戏的分析及设计游戏的功能与实现总结与致谢,设计的背景及意义,游戏的设计背景扫雷是一款玩法相当简单的大众化的小游戏,游戏的胜利条件是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时要避免踩到雷。微软于1990年10月收购了扫雷的版权,并随纸牌游戏(Solitaire)一同加载到1992年发布的Windows3.1系统上,扫雷从此流行起来,之后迅速成为了各种操作系统中必不可少的一款游戏。自1992年至今,微软的Windows操作系统经过数次换代更新,变得越来越庞大、复杂,功能也越来越强大,但是这款小游戏依然保持原来的容貌,可见这款小游戏受到越来越多人的喜爱。,设计的背景及意义,游戏设计的意义随着社会的不断进步,计算机得普及,人们越来越多得接触到计算机,计算机逐步渗入社会生活各个层面,人们长时间的面对计算机难免会有倦怠的情绪。现在生活节奏的越来越快,人们的压力也不断的提高,在游戏层出不穷的时刻,人们对游戏的需求也不断提高,而扫雷游戏任然受到不少人的青睐,这款小游戏不会花太多时间,同时把玩家得思维带动起来,达到一举多得得效果。其本身的性质,决定了人们对它的喜爱的程度,不需要特殊的技巧,不需要不断的升级,还不需要太多的时间进行熟悉,简简单单却趣味无穷。,游戏的分析及设计,游戏的要求分析扫雷游戏的基本功能:点击鼠标左键于未知区域,如果未知区域有雷,游戏停止,显示所有的地雷。如果没雷,则显示周围雷数,如果周围没雷,则再查看周围八个区域是否有雷直到有雷为止并显示,这其实是一个递归过程。点击鼠标右键于未知区域,则将其置为有雷而不管是否真的有雷。可选择初、中、高三级并可自定义雷数和区域大小以及游戏时间,剩余雷数等。所以本程序需实现的主要功能有:用户可以自定义级别,并确定雷的个数;具有计时功能,即显示用户完成扫雷所花费的时间;用户识别雷右击可标记“雷”。,游戏的分析及设计,游戏算法分析(1)随机分布。扫雷游戏要求在M行N列的网格游戏区随即的不上X个雷,且X的取值应小于M和N的乘积。这可以在一张M*N的网格上通过均匀分布的随即算法视线。其中X的网格是雷区,剩下的网格是非雷区。游戏的目标是尽可能快地找到所有的雷区,而不踩到地雷。Java提供了视线随即算法的类Math,通过Math类的random()方法这可以很方便的实现随即布雷的功能。(2)计算按钮周围雷数。当一个方块被点击时,如果显示1则表示周围8格内有1个雷,如果是2就是周围8格有2个雷,以此类推,以递归的的方式计算方块被点击时应该显示的数字。,游戏的分析及设计,游戏类设计Game类是继承了JFrame实现了Runnable接口,该类里声明了组键,并进行布局,主方法main()实例化窗体对象,来启动游戏。Level类设定游戏的难度,该类继承了JDialog类来创建一个临时的对话框,来进行难度的调整,类中预设了初级难度、中级难度和高级难度三种难度的窗体大小及雷区分布,还有玩家自定义难度的窗体大小及雷区分布的调整。Panel类来统计玩家的对局信息,通过OutputStreamWriter()方法和FileOutputStream()将数据写到指定的文件中来储存玩家的游戏信息,玩家可以通过重置按钮将信息清空置零。MyButton类继承了JFrame实现了MouseListener接口,主要通过mouseClicked()方法来对鼠标事件监听来改变雷区按钮的状态,以此来判读玩家是否“踩到雷”。Button1类继承了MyButton类,通过SetIcon()方法加载一些外部图片来改变雷区按钮的样式,对踩雷进行判断。,游戏的功能与实现,雷区功能流程图,游戏的功能与实现,随机布雷的功能当游戏开始时程序需要根据玩家所选难度,确定大小的矩形雷区中随机布置的地雷数量(初级为9*9个方块10个雷,中级为16*16个方块40个雷,高级为16*30个方块99个雷,自定义级别可以自己设定雷区大小和雷数,但是雷区大小不能超过24*30),并将这些地雷随机分布在雷区,该过程主要由Java提供的Random方法解决,并且计算出每个按钮周围八个按钮有多少是雷。游戏结束的实现游戏结束分为两种情况一种是正确标记出所有的地雷取得胜利后的结束;一种是踩到地雷后游戏失败后的结束。游戏结束后将游戏数据统计储存同时还需给玩家一个提示框,让玩家选择继续游戏,还是退出游戏。,游戏的功能与实现,游戏界面图,游戏的功能与实现,游戏胜利图,游戏的功能与实现,游戏失败图,全文总结,本次毕业主要通过研究Windows操作系统自带的扫雷游戏来完成,在编程中也遇到了许多的问题,有些问题看上去比较简单但却不知道错在哪里,有些问题比较大,知道错在哪里却不知道应该怎样解决,后来经过不断的调试,网上查资料,询求指导老师的帮助,这个扫雷游戏终于大功告成。由于本人的技术能力有限,开发时间较短暂,游戏难免会有一些不足的地方。本次设计只是完成了扫雷游戏的基本功能,在细节方面仍有待以后完善。经过本次毕业设计Java扫雷游戏的编写,我发现自己有很多的不足,我想如果单纯让我来独自来编写这个游戏,而不是模仿Windows系统自带的扫雷游戏,我感觉能编出来的可能性很小,因为这个游戏虽然看起来很小很简单但也涉及到了好多算法。通过这次游戏的设计,我认识到应该注意细节问题,虽然是很小的问题,但可以提高自己编程的能力,而且还可以培养自己编程的严谨性,同时还可以为以后的编程积累经验。编写完这个扫雷游戏,感触最深的就是我们真的要扎扎实实的打基础!,大学四年的生活随着毕业设计的尾声即将成为我们一生弥足珍贵的记忆。从开始的选题到现在即将到来的答辩,期间遇到许
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026国盛证券股份有限公司分支机构社会招聘7人备考题库附答案详解(综合题)
- 2026安东油田服务集团全球校园招聘备考题库附答案详解(考试直接用)
- 2026广西河池市罗城仫佬族自治县农业农村局招聘就业见习人员3人备考题库及参考答案详解1套
- 2026天津铁道职业技术学院招聘高层次人才5人备考题库附答案详解(夺分金卷)
- 2026新疆金元能矿投资集团有限公司招聘2人备考题库附答案详解
- 2026北京大学环境科学与工程学院招聘合同制人员1人备考题库附答案详解(黄金题型)
- 2026云南普洱宁洱哈尼族彝族自治县人民检察院招聘聘用制书记员2人备考题库及1套完整答案详解
- 2026年福建宁德福安市三中招聘教师1名笔试参考题库及答案解析
- 2026海南琼中黎族苗族自治县计划生育协会招聘公益性岗位人员1人考试备考题库及答案解析
- 2026年南昌大学第一附属医院口腔科门诊导诊员岗招聘2人笔试模拟试题及答案解析
- Unit5OldtoysPartALet'sspell(课件)人教PEP版英语三年级下册
- 2026年民法典宣传月专题知识竞答
- 2026年深度学习及其应用-复旦大学中国大学mooc课后章节答案期末练习题(典型题)附答案详解
- 2026云南昆华医院投资管理有限公司(云南新昆华医院)招聘5人备考题库及答案详解参考
- 2026届陕西省西安市五校中考三模语文试题含解析
- 2026小升初语文专项冲刺辅导
- 2025年东莞市康复实验学校招聘笔试真题
- 理论力学课件 第五章-分析力学
- 酒店西餐厅工作程序SOP
- GB/T 19587-2017气体吸附BET法测定固态物质比表面积
- GB 37479-2019风管送风式空调机组能效限定值及能效等级
评论
0/150
提交评论