Building a class-based Pygame Framework ======================================= .. warning:: This video is quite long (approx. 1 hour). It may be a good activity to undertake to get insight into more advanced concepts. It may be skipped. Goals ----- - Modify the Pygame template to make use of classes. - Create views that will separate game logic into **methods** (event_loop, update, draw) so we can easily swap between complex views like title screen, instructions, the game itself, and sub-menus within the game. - Mini introduction to **inheritance** of an **interface**. - Create different files to store our classes, rather than have the entire game in a single file. - Switch between scenes by modifying the code directly (actual scene switching to come at another time) Starter code ------------ - :doc:`pygame-template` Video Tutorial -------------- .. raw:: html What you need to do ------------------- - Create a new View subclass using inheritance and override the ``event_loop``, ``update``, and ``draw`` methods. - Set that new view as the first ``current_view`` so when you run the game it loads your new view - Give the background a different color than all the other views. - Draw some text to give the ``View`` a title. - Add a unique mouse or key event - Get some animation like a moving shape Final Code ---------- `Pygame Framework On GitHub `_