if not sandmovedonthisstep time sleep( erase all of the sand for sand in allsand bext goto(sand[ ]sand[ ] print('end='' break break out of main simulation loop if this program was run (instead of imported)run the game if __name__ ='__main__' try main( except keyboardinterrupt sys exit(when ctrl- is pressedend the program after entering the source code and running it few timestry making experimental changes to it the comments marked with (!have suggestions for small changes you can make on your ownyou can also try to figure out how to do the followingcreate wall shapes other than an hourglass create points on the screen that continuously pour out new grains of sand exploring the program try to find the answers to the following questions experiment with some modifications to the code and rerun the program to see what effect the changes have what happens if you change range( on line to range( ) what happens if you change range( on line to range( ) what happens if you change sandmovedonthisstep false on line to sandmovedonthisstep true what happens if you change fallingdirection none on line to fallingdirection what happens if you change random random( <wide_fall_chance on line to random random( <wide_fall_chance project #