仿Windows扫雷Java版.doc

仿Windows扫雷Java版.doc

ID:29002879

大小:183.50 KB

页数:13页

时间:2018-12-15

仿Windows扫雷Java版.doc_第1页
仿Windows扫雷Java版.doc_第2页
仿Windows扫雷Java版.doc_第3页
仿Windows扫雷Java版.doc_第4页
仿Windows扫雷Java版.doc_第5页
资源描述:

《仿Windows扫雷Java版.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、仿Windows扫雷Java版姓名:周川祥Email:chxzhou012@126.comQQ:3952460392007年5月27日目录一、概述31、总揽32、与Windows自带的扫雷对比3二、需求分析41、扫雷使用分析42、扫雷功能分析4三、概要设计51、开发平台52、面向对象分析53、游戏流程5四、详细编码61、利用双缓冲区的方式消除动画的闪烁现象62、程序的基本数据结构71)绘图类的数据结构的设置72)扫雷控制类(MineSweeping)的数据结构设置83)扫雷具体平台实现类(MineSweepingMain)的数据结构设置83、关键算法剖析81)、自动翻开相邻空白区域82)、程

2、序中图形的绘制10五、调试11六、用户使用说明111、关于本软件的使用112、扫雷规则123、扫雷玩法124、自定义游戏区域125、策略与技巧126、帮助(help/JavaMineSweeping.CHM)13七、结语13一、概述1、总揽此程序是用Java语言仿造经典的Windows自带小游戏“扫雷”而开发的“扫雷Java版”。无论是学生、白领、蓝领等不同行业人士,还是男女老少都有不同程度的爱好者。“扫雷”游戏的目标是尽快找到雷区中的所有地雷,而不许踩到地雷。如果挖开的是地雷,将输掉游戏。2、与Windows自带的扫雷对比Java版Windows版二、需求分析1、扫雷使用分析作为一个经典的

3、游戏,使用的非常广泛,具体各方面可以归纳如下:1)游戏爱好者2)计算机初学者3)计算机爱好者4)计算机中级水平者5)喜欢逻辑推理者6)喜欢碰运气者7)喜欢娱乐者8)喜欢扫雷游戏者9)军队中扫雷部队10)只会简单游戏者2、扫雷功能分析1)、使用者自定义游戏难度(雷区雷的个数)。2)、使用者游戏失败,伴随AK47声音,单击笑脸重新开始。3)、使用者游戏成功,记录成绩。4)、有帮助功能5)、程序退出。三、概要设计1、开发平台JDK1.5/Jbuilder20062、面向对象分析Java作为纯面向对象语言,在面向对象分析时具有庞大的优势。当游戏分成多个对象时,可实现对人同时设计,当游戏发生错误时,只

4、需修改错误发生时的对象模块,因此,设定清晰对象将有助于软件的开发和维护。本程序中有四个对象:1)、绘图对象:Draw类——主要是负责游戏中所有的图形绘制以及相关显示,例如边框、游戏中笑脸、雷的布置等。2)、游戏控制类:MineSweeping类——主要负责游戏中各个鼠标事件的控制和判断、计时时间的显示、布雷以及自动递归翻开没有雷的区域等游戏中细节部分实现,这是本程序的主体。3)、设定程序的执行环境,(本程序用的是窗口显示,也可以用Applet直接嵌入到网页中显示),这样便于程序的移植。3、游戏流程布雷的时间安排,需要保证用户第一次单击鼠标后再完成布雷,否则,便是“出师未捷身先死”的下场。开始

5、初始化操作等待鼠标事件左键右键启动计时器布置地雷标示方块第一次按下方块计时器时间到触雷自动翻开空白继续结束YYNYNNY四、详细编码1、利用双缓冲区的方式消除动画的闪烁现象在绘制图像时,需要将前面已经绘制的图像清除然后重新绘制,如果不清除,则会造成图像残留。在java中,重绘图像时,在调用paint()方法前,会调用update()方法,此方法将背景色作为前景色绘制一个与显示区域一样大小的实心矩形,然后还原前景色,再调用paint()方法,由此造成了图像的闪烁。为了避免闪烁,我们重写update()方法,使其只调用paint()方法,而不清除图像。我们将显示在屏幕上的画面称为主画面,新建一个

6、Image,称之为次画面。次画面的大小和主画面一样,但是不直接显示在屏幕上。绘图时,我们将图像绘制在次画面上,在绘制次画面时,要先清除次画面再进行绘制,然后将次画面的图像贴到主画面,这样由于次画面不显示在屏幕上,就看不到闪烁现象了。我们将这种方法称为双缓冲法。为了直接达到这个目的,在代码中,使用了createImage()方法来创建一个图像,这也就是第二个缓冲区。ImageoffImage;//次画面GraphicsoffGra;//主画面offImage=c.createImage(c.getWidth(),c.getHeight());//创建次画面offGraphics=offImag

7、e.getGraphics();c.getGraphics().drawImage(offImage,0,0,null);//蒋次画面的图像画到主画面详细情况参考程序中详细的注释2、程序的基本数据结构1)绘图类的数据结构的设置//游戏数据intxGrid;//地图x轴格数intyGrid;//地图y轴格数intmineCount;//地雷数Containerc;//容器ImageoffImage;//次画面用

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。