JS实现扫雷

一个近期学习JavaScript的小项目~

效果图

在这里插入图片描述

大体思路

扫雷基本
  • 地雷:用随机数随机生成
  • 数字:在地雷生成之后,数在当前格子周围的地雷数生成
  • 雷数和地图大小:
    • 初级:10个雷,9*9
    • 中级:40个雷,16*16
    • 高级:99个雷,16*30
文件组织
  • images文件夹存放图片
  • index.html做展示出来的页面
  • index.css做页面的样式
  • index.js做页面的逻辑代码
用于展示地图的标签
  • 使用<table></table>展示地图
  • table中的行/列(行<tr></tr>列<td></td>)使用JS动态生成、改变
基本逻辑
  • 单击左键
    在未打开的区域点开数字:如果是数字0,则需递归到炸弹或数字的边界处打开
  • 单击右键
    • 在未打开的区域插旗
    • 在插旗的区域放问号
    • 在问号的区域恢复未打开状态
  • 左右键同时按下
    • 高亮当前所指方格周围的8个格子中,还未打开的区域
  • 左右键同时抬起
    • 高亮恢复
    • 若当前所指为打开的数字,且周围的雷数已被满足,递归打开数字部分,基本逻辑同单击左键打开的逻辑

总结

  • 本项目的实现逻辑很简单(仅涉及递归),但能明白JS涉及的一些鼠标操作、文件的组织。
  • 当把网页部署到服务器上使用nginx代理时,发现操作瞬间顺滑了许多,比github page上更流畅…
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值