所以我的 Java 扫雷游戏用 int[][] 表示,其中 -1 表示地雷。当我初始化我的游戏时,我需要随机放置 x 数量的地雷。
这样做的优雅方式是什么?我正在考虑使用带有每个单元格坐标的 ArrayList,随机选择它,更改 int[][] 的状态,然后删除该点。这将确保没有点被选择两次。
有没有更优雅的方法来做到这一点?
我会这样做,但略有不同。使用发牌算法。
按顺序创建网格中所有坐标的数组。([0,0], [0,1] .. [0,max], [1,0] .. [max, max]). 然后通过按顺序迭代列表并将每个元素与随机元素交换来“洗牌”。然后选择列表中的前 x 个元素并在这些位置放置地雷。
| 归档时间: |
|
| 查看次数: |
2220 次 |
| 最近记录: |