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