1

我需要更改 BallDemo 类中的“bounce”方法,以允许用户通过参数选择有多少弹跳球。我需要使用一个集合来存储球,并且球应该沿着默认画布的顶部排成一排。此外,当最后一个球到达画布末端时,球应该被擦除。我知道我需要对绘制、移动和擦除方法使用数组列表和 for 循环,但除此之外我被卡住了。这是我到目前为止所拥有的:

/**
* Simulates a chosen number of specific balls bouncing.
*/
public void bounce(int amount)
{
int ground = 400;   // position of the ground line

myCanvas.setVisible(true);

// draw the ground
myCanvas.drawLine(50, ground, 550, ground);

***ArrayList<BouncingBall> balls = new ArrayList<BouncingBall>();
for(int index; index < amount; index++)
{
  BouncingBall ball = new BouncingBall(0, 0,*** 

// make them bounce
boolean finished =  false;
while(!finished)
{
  myCanvas.wait(50);           // small delay
  ball.move();
  ball2.move();
  // stop once ball has travelled a certain distance on x axis
  if(ball.getXPosition() >= 550 && ball2.getXPosition() >= 550)
    finished = true;
}
ball.erase();
ball2.erase();
}
}

现在的程序设置为让两个球弹跳,因为它一开始没有参数,它被编程为让两个弹跳球。ArrayList 和 for 循环的行是我添加的,但我被困在那里。此外,默认画布的宽度为 600,高度为 500。

4

0 回答 0