This tutorial shows you everything about tile engines. The introduction starts from the very beginning and shows you how tiles and maps work and even how to build your own little tile engine. Furthermore there are functional and visual extensions for this basic engine. Also there is sample code available for each tutorial.
This part of the tutorial is focussed to more game-related topics such as units, collision detection, free movement and event handling. You should have read through any of the tutorials above before continuing here, since this is getting more and more advanced.