1、 算法设计与分析课程设计算法设计与分析课程设计 扫雷游戏设计扫雷游戏设计 班班 级级 姓姓 名名 指指 导导 教教 师师 开开 发发 时时 间间 2012.12.18 2012 年 12 月 摘 要 扫雷游戏是 Windows 操作系统自带的一个小游戏,过去的几年里 Windows 操作系统历经数次换代,变得越来越庞大、复杂,但这个可爱的小游戏在任何版 本的 Windows 操作系统里去地依然保持着原貌。但几乎每个电脑使用者都接触 过它,并且深爱着这款小游戏。 游戏上手极其简单,但是要熟练地掌握其中的操作及找出雷的技巧,难度却 不低。作为家喻户晓老少皆宜的大众游戏,其普及程度可以说是史上任何一
2、款游 戏都无法相比的。 游戏的操作方面主要以鼠标为主, 当鼠标指针对准未翻开的方块按下左键时 即表示翻开方块, 当鼠标指针对准未翻开的方块按下右键时即表示标示或疑示地 雷,反复按下右键则方块会以未标示标示疑似三者关系不断循环。游戏者可 以通过地雷区内的数字提示了解以数字为中心的其周边八个方格内所含的地雷 数,假若翻开的方块显示数字“3” ,则表示以其为中心的周边方块内藏有 3 个地 雷。当按下的方块不是地雷,且周边八个方块也都没有地雷时,方块会以被翻开 方块的八个方向将空白方块翻开。 。 扫雷游戏是比较经典的一款小游戏,实现它的方法很多,可以用很多不同算 法和语言实现,如 C,C+,VB,Ja
3、ve,C#等。本论文研究的是以 java 为开发 环境,设计并开发一款扫雷游戏,其功能类似于 Windows 操作系统自带的扫雷 游戏。论文首先介绍了制作游戏的整体思路及整个游戏设计的流程规划,然后介 绍了雷区的布置及地雷随机产生的实现方法; 重点介绍了在游戏过程中各事件的 处理,其中又以鼠标事件和清除未靠近地雷区方块这两方面最为重要,鼠标事件 是利用鼠标所发出的信息了解使用者的意图,进而做出相对应的动作。 关键词:java;扫雷;课程设计; 第 1 页 目目 录录 第一章 引言 2 1.1 课题背景及意义 2 1.2 开发的目的以及意义 2 1.3 关于本课题 3 第二章 游戏的总体分析 .
4、 4 2.1 游戏功能简介 . 4 2.2 扫雷游戏的基本要求 . 4 2.3 功能需求分析 . 5 第三章 游戏的具体分析 . 6 3.1 总体功能图 . 6 3.2 主要功能设计流程 7 3.2.1 总体流程图 . 7 图 3-2-1 总体流程图 7 3.2.2 雷区设计流程图 8 3.2.3 排行榜设计流程图 . 9 3.3 各个类的详细介绍与关键代码 9 3.3.1 类之间关系图 9 3.3.2 MainFrame 类 .10 3.3.3 LEDNumber 类 .12 3.3.4 MineGrid 类 13 3.3.5 AboutDialog 类 .13 3.3.6 CustomDi
5、alog 类 .14 3.3.7 ImageFactory 类 15 3.3.8 UserDialog 类15 3.3.9 LevelInfo 类 15 3.3.10 LogDialog 类 .17 第四章 游戏的实现 .19 4.1 游戏的初级界面 19 4.2 游戏的中级界面 20 4.3 游戏的高级界面 21 4.3 游戏的打包发布过程 22 第五章 结 论24 参考文献.25 第 2 页 第一章第一章 引言引言 1.1 课题背景及意义课题背景及意义 扫雷最原始的版本可以追溯到 1973 年一款名为“方块”的游戏。不久之后, “方块”被改写成了游戏“Rlogic”。在“Rlogic”里,
6、玩家的任务是作为美国海军陆战 队队员, 为指挥中心探出一条没有地雷的安全路线, 如果路全被地雷堵死就算输。 两年后,汤姆 安德森在“Rlogic”的基础上又编写出了游戏“地雷”,由此奠定了现 代扫雷游戏的雏形。1981 年, 微软公司的罗伯特 杜尔和卡特 约翰逊两位工程 师在 Windows 3.1 系统上加载了该游戏,扫雷游戏才正式在全世界推广开来。 在计算机逐步渗入社会生活各个层面的今天,计算机已经成为了人们日常 生活中的一部分,越来越多的人使用计算机办公、娱乐等等。在这其中,系统自 带的小游戏也占据了相当重要的地位,与那些网络游戏和 3D 游戏相比,它有编 写简单容易上手等特点,非常适合人们在完成工作的时候适当的娱乐要求。这些 小游戏大都是以益智和娱乐为目的,不仅给紧张工作的人们以放松,还可以让人 们的大脑得到开发。这些小游戏包括扫雷,弹球,纸牌等等。而本课题就是扫雷 游戏的设计。 1.2 开发的目的以及意义开发的目的以及意义 大学以来各门专业课程的学习,让我综合知识全面提升了很多。为了提高 自己的动手能力,将知识灵活的运用,此次我设计了