factory pattern if __name__ ='__main__'window_dimensions screen pygame display set_mode(window_dimensionssquare square( obj square player_quits false while not player_quitsfor event in pygame event get()if event type =pygame quitplayer_quits true pressed pygame key get_pressed(if pressed[pygame k_up]obj move('up'if pressed[pygame k_down]obj move('down'if pressed[pygame k_left]obj move('left'if pressed[pygame k_right]obj move('right'screen fill(( )obj draw(pygame display flip(since you now have the circle and square objects availablethink about how you would go about altering the program so that when you press the "ckey the object on screen turns into circle (if it is not currently onesimilarlywhen you press the "skey the shape should change to square see how much easier it is to use the objects than it is to handle all of this inside the game loop tip look at the keybindings for pygame together with the code in this there is still an improvement or two we could implementsuch as abstracting things like move and draw that have to happen with each class so we do not have to keep track of what shape we are dealing with we want to be able to refer to the shape in general and just tell it to draw itself without worrying about what shape it is (or if it is shapeto begin withand not some image or even frame of animation