我创建了这个程序,在构造函数中将创建一个气泡对象数组,然后气泡将在画布上浮动,一旦气泡彼此接触,它们将消失并显示“ POP!”字样。如果所有气泡都已弹出,则我的方法noneLeft()应该返回true,然后将调用另一个称为redisplayAll()的方法,气泡将重置并再次显示。但是,我不确定在弹出最后一个气泡后要为if语句返回true编写什么内容。如果数组中的最后一个泡泡已经弹出,我该如何写下来,然后返回true。我必须使用bubble.length吗?

public Mover(double width, double height, int numberOfBubbles) {
    canvasWidth = width;
    canvasHeight = height;
    bubbles = new Bubble[numberOfBubbles];

    for (int i = 0; i < numberOfBubbles; i ++){

        bubbles[i] = new Bubble();
        bubbles[i].showBubble(width, height);

    }

    count = 0;
}



public boolean noneLeft() {


   if (bubbles[].isPopped() == true){

       return true;

   }

   return false;

}

最佳答案

该代码应为

public boolean noneLeft() {
    for (Bubble b : bubbles) {
        if (!b.isPopped()) {
            return false;
        }
    }
    return true;
}


遍历气泡,一旦发现没有弹出的气泡,则由于至少剩下一个气泡而返回false。

09-06 10:16