The things we've talked about this chapter, such as advanced timing and trigonometry, are essential to creating complex games. In fact, they are essential to creating even intermediate complexity games , as you've just seen. However, you don't have to be a master of trigonometry to use it, as this chapter has shown. By knowing a few things about right triangles , you can deduce most of what you need to do quite easily.
It's time to move back into the world of theory to learn our last big lesson in coding style. Now that our games are getting to be many hundreds of lines long, we should start employing a powerup programming technique: Object-Oriented Programming (OOP).