2010/7/18日,用了几天写了个j2me版的扫雷,源码上传了,我在这里主要是想记录下我当时做的思路。
一开始,我先想把图画出来,比如9*9中,这里我用二维数组array1[9][9]表示,那这9*9中有10个雷,我用array[10]表示。
这array[10]里面放的是二维数组的下标,这个下标应该是随机的。于是在这是我写了一个产生随机数的java类。
在这是产生随机数的类,我采用的是在一个已有的数组中随机一个,标记后把它放到数组最后,长度减一,循环得到n个
得到了雷的下标后,我就初始化array1[][],有下标的array1[i][j]设为1;(如下标为43,我就循环if(array1[i][j])==43array1[i][j]=1),没有的我就设为0 。
初始化后的array1中值不是1就是0;然后我计算9*9中每个格中,周围格中雷的个数。
循环array1,这是用另外一个数组来放赋值后的array2[][],有9种情况,比如在0,0位置,判断0,1;1,0;1,1位置有雷没有(通过上面说雷=1,判断array1[i][j]是否等于1),有标记值加1,然后赋值array2[i][j]=标记值,如果这个位置就是雷(array1[i][j]=1),那把array2[i][j]重新赋值为9(因为一个格周围最多只有8个雷),
到此图好了。
现在是按键监听了
如果你按下了,是雷,结束
如果是空格的话,你在递归打开它的下标的上下左右