BreakOut game course project, using multiple design patterns