篇一:扫雷游戏实验报告
课程设计
班 级: 姓 名: 学 号: 指导教师: 成 绩: 电子与信息工程学院信息与通信工程系
目录
1.任务概述------------------------------------3
2.功能及模块设计------------------------------3
3.数据结构与算法设计--------------------------4
4.程序描述------------------------------------6
5.设计感想------------------------------------9
6.参考文献------------------------------------10 附录1 程序源码--------------------------------10
1.任务概述
1.1设计题目
扫雷游戏
1.2规则要求
1) 图形用户界面。
2) 类似 windows 附件的扫雷游戏。
3) 其余功能自行扩展。
1.3目标
锻炼自学能力、办公软件操作能力、程序设计能力、培养学生的编程思想、编程兴趣。
1.4运行环境
Java , esclipse
1.5条件与限制
1)图形界面美观大方。
2)功能必须正确,扩展功能自行丰富。
3)程序设计要注意健壮性。
2.功能及模块设计
2.1具体的功能介绍
过程分析:在屏幕中显示一个雷区,雷区范围内预先埋设了一定数量的随机分布的地雷;玩家可以对雷区进行标记,如果能正确标记出雷区中的所有地雷,则游戏胜利;如果踩雷,则游戏失败。
1)开局:开局默认初级难度,有三个难度供选择-初级:12*12、中级:15*15、高级:20*20;各级地雷数分别为:10,25,50;雷区每个方块下或有地雷,或者没有地雷;
2)挖雷:将鼠标移动到某个方格上,并点击鼠标左键,可挖开它;若所揭开方块下有雷,则游戏失败;如果没有雷,则显示数字,数字为这个方格周围八个方格的雷的数目。
3)标记地雷:在鼠标所在的某个方格上右击一次或两次,则标记该区域;一次表示
认为此区域有雷,两次表示不确定这个区域是否有雷。每标记一个区域,则显示的地雷数减1。
4)判断胜负:如果挖出了其它所有无雷区,或者标记出了所有的雷区,则游戏胜利。如果在游戏中挖到任何地雷则游戏失败。
2.2软件模块划分
表1-1
1)选择游戏难度
2)重新开始按钮
3) 存放未找到的雷的个数
4)雷区
3.数据结构与算法设计
3.1数据结构
在存放雷区信息时用到了二维数组。
3.2算法
3.2.1 随机函数
随机布雷扫雷游戏要求在M 行、N 列的一块网格游戏区内随机地布上MineNum 个雷,
且MineNum 的取值应该小于M 和N 的乘积。这可以在一张M×N 的网格上通过满足均匀分布的随机算法实现。其中有MineNum 个网格是雷区,剩下的网格为非雷区。游戏的目标是尽可能快地找到所有的雷区,而不踩到地雷。JAVA 提供了实现随机算法的