需要有关在扫雷游戏中随机放置地雷的方法的帮助

ava*_*arX 3 java

所以我的 Java 扫雷游戏用 int[][] 表示,其中 -1 表示地雷。当我初始化我的游戏时,我需要随机放置 x 数量的地雷。

这样做的优雅方式是什么?我正在考虑使用带有每个单元格坐标的 ArrayList,随机选择它,更改 int[][] 的状态,然后删除该点。这将确保没有点被选择两次。

有没有更优雅的方法来做到这一点?

Mas*_*ler 5

我会这样做,但略有不同。使用发牌算法。

按顺序创建网格中所有坐标的数组。([0,0], [0,1] .. [0,max], [1,0] .. [max, max]). 然后通过按顺序迭代列表并将每个元素与随机元素交换来“洗牌”。然后选择列表中的前 x 个元素并在这些位置放置地雷。