This is a very simple used for reinforcing skills in object-oriented programming. Bounce involves an animation comprising an extensible set of shape types. Shapes have in common knowledge of their position, velocity, direction and bounding box, while each kind of special shape has a specific way of rendering itself.