import java.awt.*; import java.awt.event.*; import java.awt.font.*; import java.awt.geom.*; import java.util.Random; public class SimpleBallBouncer extends AnimationComponent { private Ball ball; private double vx; private double vy; public SimpleBallBouncer( Ball ball ) { this.ball = ball; ball.x = 100; ball.y = 100; Random random = new Random(); vx = random.nextFloat() / 10; vy = random.nextFloat() / 10; } public void timeStep() { if ( ball.x + vx < 0 ) vx = -vx; else if ( ball.x + ball.radius + vx >= getWidth() ) vx = -vx; if ( ball.y + vy < 0 ) vy = -vy; else if ( ball.y + ball.radius + vy >= getHeight() ) vy = -vy; ball.x += vx; ball.y += vy; } public void paint(Graphics g) { ball.paint(g); } }