1.找到雷数的内存地址
1.1 按照雷数精确扫描,低中高分别为10,40,99,扫描结果有三个
1.2 右键棋盘任意位置,有一个地址数值变少,则那个地址就是雷数内存地址
2.找到低中高级的棋盘范围
2.1 添加找到的雷数地址,浏览相关内存地址,点击棋盘第一个位置,观察发现内存有一个变动,右键转到地址
则初级棋盘的起始地址是0X001005361
2.2 重置棋盘,点击棋盘最后一个位置,发现只有一个内存变动
则初级棋盘的结束地址是0X01005469
照此方法找出中级和高级棋盘地址
中级:起始地址都一样,结束地址为0X01005550
高级:起始地址都一样,结束地址为0X0100555E
综上所述:
低级:0X001005361——0X01005469
中级:0X001005361——0X01005550
高级:0X001005361——0X0100555E
3.找出地雷和别的数字在内存中的表示形式
初级棋盘的值一共有12种,分别是:棋子(0E),问号(0D),未点击到的地雷(8F),点击到的地雷(CC),结束时显示的地雷(8A),不是地雷的未知数值(0F),空白(40----@),1(41----A),2(42----B),3(40----C),4(40----D),5(45----E)。
4.猜测布雷算法
扫雷游戏第一次点击棋盘是不可能扫到地雷的!刚开始会随机分布地雷,如果第一次就扫到了地雷,则重新布雷,如果第一次没有扫描到地雷,则不会重新布雷!
例如:
未点击任何位置时,初始棋盘如下:
我们点击8F的位置,游戏不会结束而会重新布雷,棋盘重新布雷如下:
此时再点击8F,则游戏结束不会重新布雷
重新开一局,这次不要点击8F
发现它并不会重新布雷,此时点击8F,游戏结束