work here because gamestateobj['stars'is list of those same tuples of xy coordinatesthe first time the code finds goal with no star at the same positionthe function returns false if it gets through all of the goals and finds star on each of themislevelfinished(returns true def terminate() pygame quit( sys exit(this terminate(function is the same as in all the previous programs if __name__ ='__main__' main(after all the functions have been definedthe main(function is called on line to begin the game summary in the squirrel eat squirrel gamethe game world was pretty simplejust an infinite green plain with grass images randomly scattered around it the star pusher game introduced something newhaving uniquely designed levels with tile graphics in order to store these levels in format that the computer can readthey are typed out into text file and code in the program reads those files and creates the data structures for the level reallyrather than just make simple game with single mapthe star pusher program is more of system for loading custom maps based on the level file just by modifying the level filewe can change where wallsstarsand goals appear in the game world the star pusher program can handle any configuration that the level file is set to (as long as it passes the assert statements that ensure the map makes senseyou won' even have to know how to program python to make your own levels text editor program that modifies the starpusherlevels txt file is all that anyone needs to have their own level editor for the star pusher game for additional programming practiceyou can download buggy versions of star pusher from email questions to the authoral@inventwithpython com