仿Windows扫雷Java版.docVIP

  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文档。上传文档
查看更多
仿Windows扫雷Java版

仿Windows扫雷Java版 姓名:周川祥 Email:chxzhou012@126.com QQ:395246039 2007年5月27日 目录 一、 概述 3 1、 总揽 3 2、 与Windows自带的扫雷对比 3 二 、需求分析 4 1、 扫雷使用分析 4 2、 扫雷功能分析 4 三、 概要设计 5 1、 开发平台 5 2、面向对象分析 5 3、游戏流程 5 四、 详细编码 6 1、利用双缓冲区的方式消除动画的闪烁现象 6 2、程序的基本数据结构 7 1)绘图类的数据结构的设置 7 2)扫雷控制类(MineSweeping)的数据结构设置 8 3)扫雷具体平台实现类(MineSweepingMain)的数据结构设置 8 3、关键算法剖析 8 1)、自动翻开相邻空白区域 8 2)、程序中图形的绘制 10 五、调试 11 六、用户使用说明 11 1、关于本软件的使用 11 2、扫雷规则 12 3、扫雷玩法 12 4、自定义游戏区域 12 5、策略与技巧 12 6、帮助(help/JavaMineSweeping.CHM) 13 七、结语 13 一、 概述 1、 总揽 此程序是用Java语言仿造经典的Windows自带 小游戏“扫雷”而开发的“扫雷Java版”。 无论是学生、白领、蓝领等不同行业人士,还是男女老少都有不同程度的爱好者。 “扫雷”游戏的目标是尽快找到雷区中的所有地雷,而不许踩到地雷。如果挖开的是地雷,将输掉游戏。 二 、需求分析 1、 扫雷使用分析 作为一个经典的游戏,使用的非常广泛,具体各方面可以归纳如下: 1)游戏爱好者 2)计算机初学者 3)计算机爱好者 4)计算机中级水平者 5)喜欢逻辑推理者 6)喜欢碰运气者 7)喜欢娱乐者 8)喜欢扫雷游戏者 9)军队中扫雷部队 10)只会简单游戏者 2、 扫雷功能分析 1)、使用者自定义游戏难度(雷区雷的个数)。 2)、使用者游戏失败,伴随AK47声音,单击笑脸重新开始。 3)、使用者游戏成功,记录成绩。 4)、有帮助功能 5)、程序退出。 三、 概要设计 1、 开发平台 JDK1.5/Jbuilder 2006 2、面向对象分析 Java作为纯面向对象语言,在面向对象分析时具有庞大的优势。当游戏分成多个对象时,可实现对人同时设计,当游戏发生错误时,只需修改错误发生时的对象模块,因此,设定清晰对象将有助于软件的开发和维护。 本程序中有四个对象: 1)、绘图对象:Draw类——主要是负责游戏中所有的图形绘制以及相关显示,例如边框、游戏中笑脸、雷的布置等。 2)、游戏控制类:MineSweeping类——主要负责游戏中各个鼠标事件的控制和判断、计时时间的显示、布雷以及自动递归翻开没有雷的区域等游戏中细节部分实现,这是本程序的主体。 3)、设定程序的执行环境,(本程序用的是窗口显示,也可以用Applet直接嵌入到网页中显示),这样便于程序的移植。 3、游戏流程 布雷的时间安排,需要保证用户第一次单击鼠标后再完成布雷,否则,便是“出师未捷身先死”的下场。 四、 详细编码 1、利用双缓冲区的方式消除动画的闪烁现象 为了直接达到这个目的,在代码中,使用了createImage()方法来创建一个图像,这也就是第二个缓冲区。 Image offImage; //次画面 Graphics offGra; //主画面 offImage = c.createImage ( c.getWidth () , c.getHeight () ) ;//创建次画面 offGraphics = offImage.getGraphics () ; c.getGraphics ().drawImage ( offImage , 0 , 0 , null ) ; //蒋次画面的图像画到主画面 详细情况参考程序中详细的注释 2、程序的基本数据结构 1)绘图类的数据结构的设置 //游戏数据 int xGrid ; //地图x轴格数 int yGrid ; //地图y轴格数 int mineCount ; //地雷数 Container c ; //容器 Image offImage ; //次画面用来绘制后台图像 Graphics offGraphics ; //用来显示的对象 //图片数组,用来创建笑脸,雷区地图,计数器 Image[] imgSmile ; Image[] imgMap ; Image[] imgC

文档评论(0)

woai118doc + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档