the data structure for the map is just list of single character strings the tilemapping dictionary links the characters used in this map data structure to the images that they represent (this will become more clear in the drawmap(function' explanation outsidedecomapping {' 'imagesdict['rock']' 'imagesdict['short tree']' 'imagesdict['tall tree']' 'imagesdict['ugly tree']the outsidedecomapping is also dictionary that links the characters used in the map data structure to images that were loaded the --outside decoration|images are drawn on top of the outdoor grassy tile playerimages is list of all possible characters the player can be currentimage is the index of the player' current player image currentimage playerimages [imagesdict['princess']imagesdict['boy']imagesdict['catgirl']imagesdict['horngirl']imagesdict['pinkgirl']the playerimages list stores the images used for the player the currentimage variable tracks the index of the currently selected player image for examplewhen currentimage is set to then playerimages[ ]which is the --princess|player imageis drawn to the screen startscreen(show the title screen until the user presses key read in the levels from the text file see the readlevelsfile(for details on the format of this file and how to make your own levels levels readlevelsfile('starpusherlevels txt'currentlevelindex the startscreen(function will keep displaying the initial start screen (which also has the instructions for the gameuntil the player presses key when the player presses keythe startscreen(function returns and then reads in the levels from the level file the player starts off on the first levelwhich is the level object in the levels list at index the main game loop this loop runs single levelwhen the user finishes that levelthe next/previous level is loaded while truemain game loop run the level to actually start playing the game