displaysurf blit(sobj['surface']sobj['rect']the for loop that draws all the enemy squirrel game objects is similar to the previous for loopexcept that the rect object it creates is saved in the 'rectkey' value of the squirrel dictionary the reason the code does this is because we will use this rect object later to check if the enemy squirrels have collided with the player squirrel note that the top parameter for the rect constructor is not just sobj[' 'cameray but sobj[' 'cameray getbounceamount(sobj['bounce']sobj['bouncerate']sobj['bounceheight']the getbounceamount(function will return the number of pixels that the top value should be raised alsothere is no common list of surface objects of the squirrel imageslike there was with grass game objects and grassimages each enemy squirrel game object has its own surface object stored in the 'surfacekey this is because the squirrel images can be scaled to different sizes draw the player squirrel flashison round(time time() = after drawing the grass and enemy squirrelsthe code will draw the player' squirrel howeverthere is one case where we would skip drawing the player' squirrel when the player collides with larger enemy squirrelthe player takes damage and flashes for little bit to indicate that the player is temporarily invulnerable this flashing effect is done by drawing the player squirrel on some iterations through the game loop but not on others the player squirrel will be drawn on game loop iterations for tenth of secondand then not drawn on the game loop iterations for tenth of second this repeats over and over again as long as the player is invulnerable (whichin the codemeans that the invulnerablemode variable is set to trueour code will make the flashing last for two secondssince was stored in the invulntime constant variable on line to determine if the flash is on or notline grabs the current time from time time(let' use the example where this function call returns this value is passed to round()which rounds it to one digit past the decimal point (since is passed as round()' second parameterthis means round(will return the value this value is then multiplied by to become once we have it as an integerwe can do the --mod two|trick first discussed in the memory puzzle to see if it is even or odd evaluates to which means that flashison will be set to falsesince = is false