There are issues with having an iPad emulate a command line and graphical interface.
Running a remote Ubuntu instance requires mapping the interface via VNC. Some of the keys are just not available - like Escape!
This is where a few code hacks are valuable! Like changing all KESCAPE to Kq (must be lower case)
I grabbed a few images from the web, resized them with gimp and then refactored the code:
'''
A global dict value that will contain all the Pygame
# Surface objects returned by pygame.image.load().
IMAGESDICT = {'uncovered goal': pygame.image.load('RedSelector.png'),
'covered goal': pygame.image.load('Selector.png'),
'star': pygame.image.load('Star.png'),
'corner': pygame.image.load('Wall_Block_Tall.png'),
'wall': pygame.image.load('Wood_Block_Tall.png'),
'inside floor': pygame.image.load('bricks1.png'),
'outside floor1': pygame.image.load('bricks2.png'),
'outside floor2': pygame.image.load('bricks3.png'),
'outside floor3': pygame.image.load('bricks4.png'),
'outside floor': pygame.image.load('Grass_Block.png'),
'title': pygame.image.load('star_title.png'),
'solved': pygame.image.load('star_solved.png'),
'princess': pygame.image.load('animal.png'),
'boy': pygame.image.load('crab.png'),
'catgirl': pygame.image.load('catgirl.png'),
'horngirl': pygame.image.load('Gorilla.png'),
'pinkgirl': pygame.image.load('pinkgirl.png'),
'rock': pygame.image.load('Rock.png'),
'short tree': pygame.image.load('Tree_Short.png'),
'tall tree': pygame.image.load('Tree_Tall.png'),
'ugly tree': pygame.image.load('Tree_Ugly.png')}
'''
The dictionary is extensible, but the code code doesn't easily refactor for random images.
'''
in the level file to the Surface object it represents.
TILEMAPPING = {'x': IMAGESDICT['corner'],
'#': IMAGESDICT['wall'],
'o': IMAGESDICT['inside floor'],
' ': IMAGESDICT['outside floor1'],
'p': IMAGESDICT['outside floor2'],
'q': IMAGESDICT['outside floor3'],
'r': IMAGESDICT['outside floor']}
'''
Creating other character maps and changing the starPusherLevels.txt encoding changes up the images.