starshipmeteors pygame the classes and their relationships are shown belowthis diagram shows that the starship and meteor classes will extend class called gameobject in turn it also shows that the game has : relationship with the starship class that is the game holds reference to one starship and in turn the starship holds single reference back to the game in contrast the game has to many relationship with the meteor class that is the game object holds references to many meteors and each meteor holds reference back to the single game object the main game class the first class we will look at will be the game class itself the game class will hold the list of meteors and the starship as well as the main game playing loop it will also initialise the main window display (for example by setting the size and the caption of the windowin this case we will store the display surface returned by the pygame display set_mode(function in an attribute of the game object called display_surface this is because we will need to use it later on to display the starship and the meteors we will also hold onto an instance of the pygame time clock(class that we will use to set the frame rate each time round the main game playing while loop the basic framework of our game is shown belowthis listing provides the basic game class and the main method that will launch the game the game also defines three global constants that will be used to define the frame refresh rate and the size of the display