扫雷游戏的游戏区数据放在一个庞大的一维 BYTE 数组中,这个变量的名字是 rgBlk
扫雷游戏的游戏区数据放在一个庞大的一维 BYTE 数组中,这个变量的名字是 rgBlk
扫雷游戏的游戏区数据放在一个庞大的一维 BYTE 数组中,这个变量的名字是 rgBlk 。并且,用于获取指定坐标信息的公式是:
LPBYTE pbPos = &rgBlk[y * 32 + x];
注意,这里的 x 和 y 是以 1 为起始索引的;换句话说,rgBlk[0]~rgBlk[31] 是不被使用的。另外,对于最大的游戏区(30 * 24)来说,rgBlk 的大小是足够可以胜任的。
直接说结论吧。当玩家点击了一个含有地雷的方块时,游戏会做出如下判断:
如果游戏已经进行(不是第一次点击),则引爆地雷,游戏结束。
如果本次点击为第一次点击,则从左上角开始依次搜索,直到找到一个不是地雷的方块,并将其修改为有雷方块;原有的地雷方块则做无雷处理。
上面的逻辑是在 StepSquare 函数中实现的。