基于Java的Windows扫雷游戏的设计与实现
摘 要
扫雷这款游戏有着很长的历史,从扫雷被开发出来到现在进行了无数次的优化,这款游戏变得越来越让人爱不释手了,简单的玩法在加上一个好看的游戏界面,每一处的细节都体现了扫雷的魅力。所以本次的毕业设计我将开发一款扫雷游戏。
本次毕业设计是以JAVA语言作为开发环境,使用Eclipse设计并开发一个类似Windows扫雷的游戏,实现其基本功能。论文首先介绍了课题背景,其次进行了需求分析及可行性分析;然后设计游戏流程,介绍雷区中的雷怎么安放和产生雷的随机算法;最后介绍游戏中可能会触发的各种时间,比如鼠标点击时间和清理掉没有雷的格子,其中鼠标事件包括点击到或没有点击到雷触发的事件和点击到重新开始以及菜单触发的事件,清理掉没有雷的格子就需要使用“递归”的方法来使该功能可以简单的实现。
关键词:扫雷;Eclipse;事件;递归
Design and Implementation of Mine Game
Abstract
Mine the game has a long history, from the mine was developed to now numerous optimization, the game is becoming more and more let a person fondle admiringly, simple style with a nice game interface, every detail reflects the charm of mine. So I'm going to develop a minesweeper game.
The graduate design study was designed with the JAVA language as a development environment, using Eclipse to design and develop a game like Windows minesweeper to implement its basic functions. The paper firstly introduces the background of the project and analyzes the requirements and feasibility analysis. Then the game process was designed to introduce the random algorithm of how the thunder in the minefield was placed and produced. Finally introduced the game may trigger a variety of time, such as a mouse click on the clear time and there is no ray of diamonds, mouse events including click to or no click to ray trigger events and click to restart and menu trigger events, clearing out squares no ray will need to use the "recursive" methods to make the function can be simple to implement.
Key words: Mine game; Visual Basic 6.0; Affairs; Recursion
目 录
摘 要 i
Abstract ii
1 绪论 1
1.1 课题背景及意义 1
1.2 开发工具的选用及介绍 1
1.3 选题目的和意义 2
1.4 本文主要研究的内容 2
2 需求分析 3
2.1 可行性分析 3
2.2 扫雷游戏功能描述 3
2.3 扫雷游戏用例图 4
2.4 扫雷游戏功能需求 4
2.5 扫雷游戏界面需求 5
2.6 扫雷游戏功能模块 6
3 游戏的概要分析与设计 7
3.1 设计构想 7
3.2 流程规划 8
3.3 界面规划 9
3.4 算法思想 9
4 游戏的详细设计 11
4.1 游戏初始化 11
4.2 雷区的布置 12
4.3 游戏中主要模块的介绍与使用 13
4.3.1 鼠标事件 13
4.3.2 地雷及雷区表面探测情况 14
4.3.3 清除未靠近地雷的格子 15
4.3.4 游戏难度的选择 16
4.3.5 菜单栏的功能 16
4.4 游戏的判断 16
4.4.1 游戏成功完成 16
4.4.2 游戏失败 16
4.5 类设计 17
4.5.1 MineGame类 17
4.5.2 Block类 18
4.5.3 BlockView类 19
4.5.4 Record类 20
4.5.5 ShowRecord类 21
4.5.6 MineArea类 22
4.5.7 LayMines类 23
5 游戏实现 25
5.1 游戏难度自定义 25
5.2 扫雷 28
5.2.1 玩家通过右键进行扫雷,并显示小红旗 28
5.2.2 玩家因触碰到雷而导致游戏结束 29
5.2.3 玩家扫雷成功 29
5.2.4 玩家游戏数据显示 30
5.3 程序打包发布过程 32
6 游戏测试结果 33
6.1 游戏难度自定义测试 33
6.2 扫雷测试 35
6.3 玩家游戏数据显示测试 37
6.4 游戏数据显示区测试 39
6.5 递归算法测试 43
结 论 44
参考文献 45
致 谢 47
外文原文 48
中文翻译 55