更新:2020-5-11
修改的原因大概是对之前非常“天才”般的用标签遮挡实现图标切换实在看不下去了,而且效率惊人的差。现在用图片看起来好一些,缺点是放大会糊。游戏手感一般,猜测是动画问题。
1>方块图形由CSS改为图片,图片纯用系统自带的小画家画的,希望有点3D效果,结果画的感觉视觉上突出太多。
2>更细致的模拟 windows7 扫雷的一些行为,比如松开触发扫雷动作,如果左键按下后,右键随后也按下,会取消扫雷动作。双键按下划过图形区域,也有动画(不知道这有什么卵用),且无论哪个先松开,都不会触发动作。双键排除时红色的X号会闪两下(感觉这东西应该用 CSS3 动画实现,可我搞不定,还是用了setinterval 函数)。
3>从知乎看到非常牛逼的 Knuth-Durstenfeld Shuffle 洗牌算法,也把它用上了,不过随机函数还是系统自带的,所以应该没啥实质的卵用。好处是看起来更合理。因为第一次点击布雷,除了第一步不能是雷以外,为了有更好的开局,周围 8 个也不能是雷,所以在生成雷的时候,会有一个最多 9 个坐标的排除列表。用原来的算法,感觉冲撞会很频繁,虽然以电脑的速度,一定能完成布雷,但不合理。
游戏地址:
扫雷zhangxiaoleiwk.gitee.io用网页实现了一个扫雷游戏,操作上和 windows 7 自带的扫雷一样,比如可以双键排除,第一步不会踩到雷等。
使用 JavaScript + HTML + CSS
有三个难度可以切换,有三种颜色可以选择。
还有统计信息功能,信息存储在浏览器本地,可以记录数据。
大概是下面这个样子。