我调用一种方法来获取八个对象的随机颜色。如果一行中三个对象的颜色相同,则它无效。只有相同颜色的一种或两种颜色相互有效。我认为我的代码应该可以正常工作,但我仍然可以使用sam颜色连续获得三个对象!我做错了什么?也许它可以以更好更简单的方式完成?建议是受欢迎的!
获得8个随机数的循环的一部分
for (int j = 0; j < 8; j++) { // 8 objects in each column
// Call method to get random color
int color = getRandomColor(j);
方法
public int getRandomColor(int j) {
int color = randomNumber1.nextInt(8);
colors[j] = color;
if(j>1 && colors[j-1] == color && colors[j-2] == color) {
getRandomColor(j);
}
return color;
}
答案 0 :(得分:1)
试试这个:
public int getRandomColor(int j){
int color = randomNumber1.nextInt(8);
colors[j] = color;
while(j>1 && colors[j-1] == color && colors[j-2] == color){
color = randomNumber1.nextInt(8);
colors[j] = color;
}
return color;
}