You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript实现扫雷游戏:外层蓝色格子边界bug问题求助

扫雷蓝色格子边界错误修复方案

你的问题出在那四个斜向2格的判断条件缺少边界校验,导致格子处于左右边界时,会错误匹配到另一行的跨列位置。直接给这四个条件加上对应边界判断即可解决:

修改代码

把蓝色格子判断中那四行有问题的代码:

|| bombsArray.includes(cellNumb - (gridLength * 2) - 1)
|| bombsArray.includes(cellNumb - (gridLength * 2) + 1)
|| bombsArray.includes(cellNumb + (gridLength * 2) + 1)
|| bombsArray.includes(cellNumb + (gridLength * 2) - 1)

替换为:

|| !atLeftSide && bombsArray.includes(cellNumb - (gridLength * 2) - 1)
|| !atRightSide && bombsArray.includes(cellNumb - (gridLength * 2) + 1)
|| !atRightSide && bombsArray.includes(cellNumb + (gridLength * 2) + 1)
|| !atLeftSide && bombsArray.includes(cellNumb + (gridLength * 2) - 1)

原因说明

  • 对于cellNumb - (gridLength * 2) -1和cellNumb + (gridLength * 2) -1:需要确保当前格子不在最左列(!atLeftSide),否则减1会跳到上/下一行的最右列,和炸弹的实际距离不符合2格要求。
  • 对于cellNumb - (gridLength * 2) +1和cellNumb + (gridLength * 2) +1:需要确保当前格子不在最右列(!atRightSide),否则加1会跳到上/下一行的最左列,造成错误匹配。

这样修改后,边界位置的格子就不会再错误触发蓝色标记,同时也不会影响正常位置的格子判断。

内容的提问来源于stack exchange,提问作者Pietro_

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 04:37:50