gpt4 book ai didi

java - 在随机位置用固定数量的宝藏填充二维字符数组

转载 作者:行者123 更新时间:2023-12-01 16:53:49 25 4
gpt4 key购买 nike

所以,现在我有一个 2D 数组,它根据用户输入(行和列)打印游戏字段。它用 '.' 字符填充数组。我现在需要的是使用第三个用户输入 amountTreasure 来确定 map 上的宝藏数量。

我如何循环遍历这个 2D 数组并将 3 个宝藏放在随机位置。有趣的是,我需要防止计算机多次随机选择同一个地方。

我现在有这个代码。

public static char[][] createMatrix(int n, int m, int amountTreasure) {


Random rand = new Random();
char[][] matrix = new char[n][m];
for (char[] matrixList : matrix) {
Arrays.fill(matrixList, '.');
}
for (int v = 0; v < matrix.length; v++) { //Loop through matrix
for (int b = 0; b < matrix[v].length; b++) {
continue;
}
}
return matrix;
}

我尝试过类似的方法

matrix[v][b] = (char) rand.nextInt('X')

但是它不起作用。我对 Java 很陌生,不知道该怎么做。

最佳答案

不要循环数组,而是计算随机位置并将宝藏放在那里。

for(int tresasure = 0; treasure < amountTreasure; treasure++) {
int x, y;
do {
x = random.nextInt(matrix.length);
y = random.nextInt(matrix[x].length);
} while(matrix[x][y] == 'X');
matrix[x][y] = 'X';
}

关于java - 在随机位置用固定数量的宝藏填充二维字符数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35522521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com