Code:
Balls are scooped in between the front wheels, being shuffled toward
the "Wheel" which works like an automated Baseball pitcher.
Front Back
\
\
\ \ <-- Turret swivels 360
\ \ Degrees, and tips from
\ \ Straight up to about 30 degrees
|-------------------------------------|
| Wheel --> () /<-- Ball |
| (not to scale) / scooper brings|
| shoots balls up / balls to turret|
| the barrell / base |
|-------------------------------------|
...yes, I just made an ASCII diagram of my robot design.
What I was thinking, is that the program constantly calculates the launch vector based on the speed at which the mechanism launches balls, and rotates and tilts the turret. I'm taking Physics now and we've already gone over Projectile motion, so it shouldn't be too hard to figure out the Angle at which the turret has to be positioned based on how far away you are from the goal.
Note that this design requries that the ball be fired at the same speed every time, or have some way to determine how fast the ball will be fired.