拿到这个题的第一个想法就是想尽量复原一个xp系统自带的扫雷游戏,尽量还原其游戏界面,实现其各种功能。
- 布局
- 顶部的游戏、帮助按钮
- 中部 包括:文字提示的雷数、计时器、restart按钮
- 底部扫雷游戏界面
- 游戏
- 左键点击后显示 空白/地雷/数字
- 右键点击 标旗子
- 确定雷的坐标
- 点击空白格时拓展至边缘
- 点击雷时失败
- 所有非雷格子被点开时胜利
- 算法
-
分别用二维数组
block[11][11]
存储每一个格子,number[11][11]
存储每个格子的数字 0表示空格 9表示雷 -
统计地雷数,计时,点击按钮重来
-
按行数列数生成
<div>
, 点击后改变样式 -
用递归搜索空白格并翻开其边界边界
-
点击格子检查对应数字
- 在number数组中查找所点击格子对应的数字(0~8为安全,9为雷格)
- 0:展开到边界
- 1 ~ 8: 显示对应数字
- 9:所选背景为红色,翻开其他雷,检查是否标错,错误打叉
-
右键 在格子上标棋
-
- 顶部 下拉选项卡增加功能
- 选择难度:初级、中级、高级
- 中部 添加数码管显示图片、 添加按钮的三种表情
- 数字、旗子等的图片显示
- 左右键同时
- 第一次不会是雷
- 自定义窗口
- 游戏规则窗口
- 提示功能(减少需要猜雷的情况发生)
- 排名系统
- 网络请求、上传分数
- 反馈窗口
- 还存在某些不知原因的小bug
- 移动端适配
一、游戏的基本操作包括左键单击(Left Click)、右键单击(Right Click)、双击(Chording)三种。其中左键用于打开安全的格子,推进游戏进度;右键用于标记地雷,以辅助判断,或为接下来的双击做准备;双击在一个数字周围的地雷标记完时,相当于对数字周围未打开的方块均进行一次左键单击操作。
二、左键单击:在判断出不是雷的方块上按下左键,可以打开该方块。如果方块上出现数字,则该数字表示其周围3×3区域中的地雷数(一般为8个格子,对于边块为5个格子,对于角块为3个格子。所以扫雷中最大的数字为8);如果方块上为空(相当于0),则可以递归地打开与空相邻的方块;如果不幸触雷,则游戏结束。
四、双击:同时按下左键和右键完成双击。当双击位置周围已标记雷数等于该位置数字时操作有效,相当于对该数字周围未打开的方块均进行一次左键单击操作。地雷未标记完全时使用双击无效。若数字周围有标错的地雷,则游戏结束,标错的地雷上会显示一个"x"。
雷诀八条 |
第一条:基本定式不要忘,现场推理真够呛。 |
第二条:鼠标点击不要快,稳定节奏把空开。 |
第三条:顺手标雷不要惯,积累下来记录悬。 |
第四条:无从下手不要愣,就近猜雷把心横。 |
第五条:遇到猜雷不要怕,爆了脸上不留疤。 |
第六条:猜雷猜错不要悔,哭天抢地也白费。 |
第七条:碰上好局不要慌,紧盯局部慢扩张。 |
第八条:痛失好局不要恨,既然有缘定有份。 |