if event type =quitterminate(elif event type =keydownif event key =k_escapeterminate(return user has pressed keyso return display the displaysurf contents to the actual screen pygame display update(fpsclock tick(there is game loop in startscreen(that begins on line and handles events that indicate if the program should terminate or return from the startscreen(function until the player does eitherthe loop will keep calling pygame display update(and fpsclock tick(to keep the start screen displayed on the screen data structures in star pusher star pusher has specific format for the levelsmapsand game state data structures the "game statedata structure the game state object will be dictionary with three keys'player''stepcounter'and 'starsthe value at the 'playerkey will be tuple of two integers for the current xy position of the player the value at the 'stepcounterkey will be an integer that tracks how many moves the player has made in this level (so the player can try to solve the puzzle in the future with fewer stepsthe value at the 'starskey is list of two-integer tuples of xy values for each of the stars on the current level the "mapdata structure the map data structure is simply list of lists where the two indexes used represent the and coordinates of the map the value at each index in the list of lists is single-character string that represents the title that is on that map at each space'# wooden wall 'xa corner wall '@the starting space for the player on this level goal space '$ space where star is at the start of the level