扫雷是一款相当经典的小游戏。他提供了非常友好的界面
下面就来讲解我的扫雷程序思想。首先我们在雷区上随机地放上雷,这可以用random类来实现。当没有
雷的地方被点击后就会显示一个数字表示它周围有几个雷,这是怎么实现的呢?我们可以把整个雷区看成
一个二维数组
雷程序还会自动展开已确定没有雷的雷区。如果a[3][4]周围雷数为1,a[2][3]已被标示为地雷,那么a
[2][4],a[2][5],a[3][3],a[3][5],a[4][3],a[4][4],a[4][5]将被展开,一直波及到不可确定的雷
区。这也是实现的关键。我们可以把数组的元素设定为一个类对象,它们所属的类设定这样的一个事件:
在被展开时,检查周围的雷数是否与周围标示出来的雷数相等,如果相等则展开周围未标示的雷区。这样
新的雷区展开又触发这个事件,就这样递归下去,一直蔓延到不可展开的雷区。相信在了解以上两个要点
后,把雷区这个类编写完全(如添加是否有雷标记,是否展开标记,周围雷数等,双击,左右单击的鼠标
事件等),实现扫雷程序应是十分简单的一件事。