improve structure of the game code and add a function to set the player position

handle the edge-case when a viewport vanishes

(0) -100 -30 -10 -2 +2 +10 +30 tip

mercurial