Thungghuan / MineSweeper

2020百步梯技术部春招考核

Home Page:http://minesweeper.thungghuan.xyz

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

一个简易的扫雷网页 (请暂时不要试图用触摸设备打开)

一、 对于扫雷的一些想法

拿到这个题的第一个想法就是想尽量复原一个xp系统自带的扫雷游戏,尽量还原其游戏界面,实现其各种功能。

二、 基础部分

  • 布局
    • 顶部的游戏、帮助按钮
    • 中部 包括:文字提示的雷数、计时器、restart按钮
    • 底部扫雷游戏界面
  • 游戏
    • 左键点击后显示 空白/地雷/数字
    • 右键点击 标旗子
    • 确定雷的坐标
    • 点击空白格时拓展至边缘
    • 点击雷时失败
    • 所有非雷格子被点开时胜利
  • 算法
    • 分别用二维数组block[11][11]存储每一个格子, number[11][11]存储每个格子的数字 0表示空格 9表示雷

    • 统计地雷数,计时,点击按钮重来

    • 按行数列数生成<div>, 点击后改变样式

    • 用递归搜索空白格并翻开其边界边界

    • 点击格子检查对应数字

      • 在number数组中查找所点击格子对应的数字(0~8为安全,9为雷格)
      • 0:展开到边界
      • 1 ~ 8: 显示对应数字
      • 9:所选背景为红色,翻开其他雷,检查是否标错,错误打叉
    • 右键 在格子上标棋

三、 进阶部分

  • 顶部 下拉选项卡增加功能
  • 选择难度:初级、中级、高级
  • 中部 添加数码管显示图片、 添加按钮的三种表情
  • 数字、旗子等的图片显示
  • 左右键同时
  • 第一次不会是雷
  • 自定义窗口
  • 游戏规则窗口
  • 提示功能(减少需要猜雷的情况发生)
  • 排名系统

四、 其他高级功能

  • 网络请求、上传分数
  • 反馈窗口
  • 还存在某些不知原因的小bug
  • 移动端适配

游戏规则

《扫雷》是一款大众类的益智小游戏,于1992年发行。游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时避免踩雷,踩到一个雷即全盘皆输。

一、游戏的基本操作包括左键单击(Left Click)、右键单击(Right Click)、双击(Chording)三种。其中左键用于打开安全的格子,推进游戏进度;右键用于标记地雷,以辅助判断,或为接下来的双击做准备;双击在一个数字周围的地雷标记完时,相当于对数字周围未打开的方块均进行一次左键单击操作。

二、左键单击:在判断出不是雷的方块上按下左键,可以打开该方块。如果方块上出现数字,则该数字表示其周围3×3区域中的地雷数(一般为8个格子,对于边块为5个格子,对于角块为3个格子。所以扫雷中最大的数字为8);如果方块上为空(相当于0),则可以递归地打开与空相邻的方块;如果不幸触雷,则游戏结束。

三、右键单击:第一次在判断为地雷的方块上按下右键,可以标记地雷(显示为小红旗)。在标记为旗子的方块上按下右键,可以标记问号。在标记为问号的方块上按下右键可以取消标记,恢复左键点击功能。

四、双击:同时按下左键和右键完成双击。当双击位置周围已标记雷数等于该位置数字时操作有效,相当于对该数字周围未打开的方块均进行一次左键单击操作。地雷未标记完全时使用双击无效。若数字周围有标错的地雷,则游戏结束,标错的地雷上会显示一个"x"。

五、游戏结束:若左键单击的方块为地雷,则游戏结束,玩家失败,显示所有地雷位置,并判断是否标错地雷位置。若所有非雷方块都被点击,则游戏结束,玩家获胜。

雷诀八条
第一条:基本定式不要忘,现场推理真够呛。
第二条:鼠标点击不要快,稳定节奏把空开。
第三条:顺手标雷不要惯,积累下来记录悬。
第四条:无从下手不要愣,就近猜雷把心横。
第五条:遇到猜雷不要怕,爆了脸上不留疤。
第六条:猜雷猜错不要悔,哭天抢地也白费。
第七条:碰上好局不要慌,紧盯局部慢扩张。
第八条:痛失好局不要恨,既然有缘定有份。

About

2020百步梯技术部春招考核

http://minesweeper.thungghuan.xyz


Languages

Language:JavaScript 57.6%Language:CSS 22.6%Language:HTML 19.8%