bounceheight how high the player bounces startsize how big the player starts off winsize how big the player needs to be to win invulntime how long the player is invulnerable after being hit in seconds gameovertime how long the "game overtext stays on the screen in seconds maxhealth how much health the player starts with numgrass number of grass objects in the active area numsquirrels number of squirrels in the active area squirrelminspeed slowest squirrel speed squirrelmaxspeed fastest squirrel speed dirchangefreq chance of direction change per frame left 'left right 'rightthe comments next to these constants explains what the constant variable is used for describing the data structures "" this program has three data structures to represent the playerenemy squirrelsand grass background objects the data structures are dictionaries with the following keys keys used by all three data structures 'xthe left edge coordinate of the object in the game world (not pixel coordinate on the screen 'ythe top edge coordinate of the object in the game world (not pixel coordinate on the screen 'rectthe pygame rect object representing where on the screen the object is located player data structure keys 'surfacethe pygame surface object that stores the image of the squirrel which will be drawn to the screen 'facingeither set to left or rightstores which direction the player is facing 'sizethe width and height of the player in pixels (the width height are always the same 'bouncerepresents at what point in bounce the player is in means standing (no bounce)up to bouncerate (the completion of the bounce 'healthan integer showing how many more times the player can be hit by larger squirrel before dying enemy squirrel data structure keysemail questions to the authoral@inventwithpython com