Comentando o código...
Feito esquema básico do jogo...

SPRITE: classe que comanda o char
MAPA: simplesmente exibe o mapa
GAME: game loop.
images