# minesweeper **Repository Path**: hcxy/minesweeper ## Basic Information - **Project Name**: minesweeper - **Description**: 基于jquery的扫雷。在线体验https://www.zhanglihu.com/static/minesweeper/index.html 。支持右击标记雷,双击自动查找雷。功能类似于win7版本的。仅在chrome下测试通过 - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: https://www.zhanglihu.com/static/minesweeper/index.html - **GVP Project**: No ## Statistics - **Stars**: 11 - **Forks**: 2 - **Created**: 2017-02-28 - **Last Updated**: 2022-04-20 ## Categories & Tags **Categories**: games **Tags**: None ## README #基于JQuery的扫雷小游戏 体验基本类似于win7上面的版本,支持右击标记雷,双击自动清除。样式上大家有需要自己调试一下即可。 ### 使用方法示例 ```javascript $(function(){ var option = { area:'#area',//容器id xnum:10,//横轴数 ynum:10,//纵轴数 bnum:20,//炸弹个数 success:function(){//成功回调函数 alert('success'); }, fail:function(){//失败回调函数 alert('fail'); } }; var lei = new saolei(option); lei.init(); }); ``` ### 实现思路 ```text 代码内注释比较多,逻辑也比较简单,欢迎大家指正 基本思路如下 1.当用户第一次点击时开始初始化雷的布局,并计算出每个点周围雷的个数,并把当前点击的点和周围8个点排除掉,不让产生雷。避免用户第一次点击时命中雷或者数字导致无法判断 2.用户点击到雷直接死亡,点击到数字只展开被点击的数字 3.当用户点击到空白点(即周围没有雷),首先展开当前点,然后依次访问周围8个点,当发现已经展开的点忽略,没有展开的数字点则展开。没有展开的空白点则执行点击空白点的递归操作,直到不再发现没有展开的空白点为止 4.用户双击数字点,首先判断周围被标记的雷数是否和当前点记录的相同,如果相同则展开周围未展开的点,遇空白点则执行点击空白点操作 ``` ### 在线demo [直通车](https://www.zhanglihu.com/static/minesweeper/index.html)