Problem written by Chris.
Makes a ball that bounces as if under the influence of gravity.
public class GravityBall extends GraphicsProgram { private static final int SIZE = 20; private static final int DELAY = 20; private static final double GRAVITY = 0.5; private static final double DAMPING = 0.7; public void run() { // Draw a ball on the top right corner GOval oval = new GOval(0,0,SIZE, SIZE); oval.setFilled(true); add(oval); // Declare variables for velocity double vx = 3; double vy = 0; while(true) { // update vy vy = vy + GRAVITY; // should the ball bounce? if(oval.getY() > (getHeight() - SIZE) && vy > 0) { vy = vy * -DAMPING; } // move oval.move(vx, vy); // animation pause. pause(DELAY); } } }