Build One
Here's the first build using a new design. I'm rewriting most of the game from an object oriented approach to break it into more manageable pieces. The original code base was growing over 1200 lines. Currently all I've implemented here is better mouse interaction with the turret and improved handling of the projectiles as they're firing from the turret.
Mouse click/drag - rotates turret Space bar - shoots a projectile
One of the problems I was having was that I had failed to initialize all the variables in the projectile class. It caused a lot of erratic behavior. Always remember to initialize all variables, or you're going to be stuck with the current value from a previous program in memory.
Here's the Build1, all the files need to be unzipped to the same location.