不超过两种颜色相同的颜色

时间:2013-05-18 15:13:56

标签: java

我调用一种方法来获取八个对象的随机颜色。如果一行中三个对象的颜色相同,则它无效。只有相同颜色的一种或两种颜色相互有效。我认为我的代码应该可以正常工作,但我仍然可以使用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;
}

1 个答案:

答案 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;
}