Use Cases
dt timestep
Check for user input (see User Input for more information)
Detect Collisions
Update position of ball and mule
Re-draw screen
User Input
Left and right arrow keys rotate camera around ball
Up and down arrow keys zoom camera in and out respectively
Right mouse button starts the swing. Right mouse button again stops the swing at the currently indicated power.
Left mouse button rotates club around the ball
Mule Eats Ball
When the ball comes into contact with the mule one of two things could happen:
50% of the time the ball will be shat over the fence towards the hole
The other 50% of the time the ball will be shat over the fence towards the starting location
Extra speed is added to the ball's motion by the mule
Hit the Ball in the Hole
User hits the ball in the hole
Congratulatory message is displayed, indicating score
Ball Hits Fence
Ball deflects back using angle in = angle out physics
No speed is lost
Ball Hits Hay Bale
Ball deflects back using angle in = angle out physics
Speed of ball is decreased signifigantly