I'm in my second year of Java and submitted this game as my final project. I spent a long time trying to optimize the code and making it as efficient as possible. We never went over Threads in class (they aren't even in my text book) so I don't know for certain if I implemented it well or if it's kind of sloppy. I know I did something right though because the original version of my code averaged about 50 - 60 FPS under normal mode, and now it averages 70 - 80. I cleaned up a lot of excess code and removed areas where certain checks were being done more than once.

Anyway, Here is the link to the game as well as the source code! Please feel free to give me any suggestions or critiques

http://www.gruendike.com/java/applet.html

One problem I notice is that the GUI elements to the right of the playing field are unstable, they show up but only sometimes. Also, the applet doesn't seem to stop until the browser closes. If you leave the page, the background music keeps playing.

Thanks!