我正在尝试用 Java 制作类似扫雷的游戏,并且我已经完成了大部分工作。我需要帮助的是 FloodFill - http://en.wikipedia.org/wiki/Flood_fill。
有人可以解释它是如何工作的吗?我在网上看过,但我不太明白解释,所以我认为在这里问会更容易。
在我的扫雷中,我有:
JButton[] btn = new JButton[100]//buttons being clicked and displaying the values/bombs
int[] mines = new int[100];//int array holding the values for each button.
网格是一个 10x10 的网格,所以说你点击的按钮是 btn[14],
btn[4] // north of btn[14](14-10)
btn[24] // south of btn[14](14+10)
btn[13] // west of btn[14](14-1)
btn[15] // east of btn[14](14+1)
回到这个问题,有人可以向我解释一下吗?
编辑: 我将我的代码更改为 2D,所以现在不是上面的代码
btn[1][4]//row one, column 4
单击按钮时,我希望它检查一个名为 mines[][] 的变量,该变量具有值,如果该值等于 0(在初始单击附近),它会更改 BG
btn[x][y].setBackground(Color.GRAY);