我需要更改 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。