Kros的博客 Kros的博客
首页
  • CSS
  • 工具
  • Vue
  • js
  • Vue3
  • 算法
  • 折腾笔记
一言
  • 分类
  • 标签
  • 归档
码云

Kros

凡心所向,素履以往,生如逆旅,一苇以航
首页
  • CSS
  • 工具
  • Vue
  • js
  • Vue3
  • 算法
  • 折腾笔记
一言
  • 分类
  • 标签
  • 归档
码云
  • 拼图小游戏

  • 井字棋

  • 贪吃蛇

  • 扫雷

    • 扫雷规则
    • 封装扫雷相关类
    • 具体使用与页面渲染
    • 后续优化
  • 项目
  • 扫雷
kros
2025-09-03

扫雷规则

扫雷是一款经典的的益智类电脑游戏。游戏的目标是在不触发任何地雷的情况下,清除出游戏区域中的所有非地雷格子。在早期的Windows操作系统中有集成,最近几个windows系统中虽然已被移除但在应用商店或三方平台也能找到,也衍生出许多进阶和变种玩法。

# 基础元素

  1. 雷区(游戏棋盘):由若干方格组成的矩形区域
  2. 地雷:随机分布在雷区中的若干方格下方,无法直接看到
  3. 数字/空白:当你点击一个格子后,如果它不是地雷且周围3*3范围类无地雷则显示空白,如果有地雷则会显示一个数字,该数字为3*3区域类地雷总数
  4. 旗帜:当右键点击时再格子上标注旗帜作为标记以防止误点,这代表你标记了此处有雷。

# 基础规则

  1. 随意点击游戏区域
  2. 如果点开的格子显示数字,比如“1”,那就意味着它周围的8个格子里有且只有1个地雷。
  3. 如果点开的格式是空白,则意味着它周围8个格子都没有地雷。游戏会自动展开所有相邻的空白格子和数字格子,这常常能帮你打开一大片区域。
  4. 右键标记格子,通过数字推理周围是否为地雷
    1. 如果点开数字为“1”且周围只有一个格子为点开,即可右键标记该格子
    2. 如果点开数字为2或以上则表示周围有多个格子,这种可通过周围格子数字叠加判断再标记地雷格子
  5. 胜利:翻开所有非地雷格子即为游戏胜利
  6. 失败:点中任一地雷格子即为游戏失败

# 实现思考

这里同样使用vue3作为实现语言。跟其它棋盘类游戏相似,我们也可以使用一维或二维数组来模拟棋盘和格子,鼠标左键或右键点击时触发翻格子或标记操作。有如下几个实现核心点:

  • 数组模拟棋盘格子,初始化地雷和数字算法
  • 点击空白自动展开格子算法
  • 判赢、判输算法
上次更新: 2025/09/05, 8:09:00
使用贪吃蛇类
封装扫雷相关类

← 使用贪吃蛇类 封装扫雷相关类→

最近更新
01
Find the next perfect square
09-05
02
Regex validate PIN code
09-05
03
Find the odd int
09-05
更多文章>
Theme by Vdoing | Copyright © 2020-2025 kros king
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
icon-heart-o icon-heart icon-infinity icon-pause icon-play link next prev