我正在用Java编写一个扫雷舰程序。我让我的炸弹分布在整个领域,我让我的行动监听器对点击和鼠标监听做出反应,对右击做出反应。我也有每个被点击的方块,检查有多少炸弹是相邻的,并打印在方块上的数字,就像在游戏中一样。
我唯一不明白的是,扫雷工具是如何在点击一个正方形时打开字段的,不管它是一个数字还是一个空白正方形。请帮助我理解这是如何工作的。
发布于 2011-09-30 13:55:30
,我唯一不明白的是,扫雷工具是如何在点击一个正方形时打开字段的,不管它是一个数字还是一个空白正方形。
如果它的任何一个相邻的方块有一个地雷,它将显示一个数字与其周围的地雷数量。
如果周围没有地雷,它就是空白的(即:如果有必要,它将显示数字0)。当它为空时,它也会递归地打开它的所有邻居(例如:打开所有邻居以及它们的邻居,如果它们也是空的,依此类推)。
如果它是一颗地雷,你当然会输。举个例子:
X 2 . .
X 2 . .
2 2 1 .
1 X 1 .(让X表示一个矿)。
如果打开任何标记为. (空白)的方块,则会自动展开所有方块及其旁边的数字:
- 2 . .
- 2 . .
- - 1 .
- - 1 .(让-表示隐藏的正方形)。
发布于 2011-09-30 13:56:54
如果是炸弹,你就输了。
如果它是一个数字,那么它就会显示这个数字。
如果它是一个空的方块,也就是说,一个没有相邻炸弹的方块,那么它就是一个空白的方块,一旦被发现,游戏就会显示出所有与它接触的空白方块(这个过程会继续下去,直到所有与新创建的空域相邻的方块都是它们自己与至少一个炸弹相邻的方块(也就是说,有一个数字)。
https://stackoverflow.com/questions/7606427
复制相似问题