Since you haven't started yet I'll tell you the concept... I just hope I don't insult your intelligence.
You make a map array to store all the data. It has to be at least a 2D array (one for the x and one for the y coordinates of the map).
You load up all the tiles from a single image. Making 100 little images is not only annoying but a nightmare to work with... it's easier to edit a single image storing all the tiles.
You grab all the tiles as single images. The image numbers used is what is stored in the map array. You use those image numbers to build the map in the array and use the array to determine if the player can move in the direction he/she wants to go.
The map making function needs to be called with the current x and y coordinates of the upper left corner of the map so it can start pasting tiles starting from those coordinates from the map array. That is how you move the map... change the coordinates it starts at and it'll appear to scroll. The array is used to paste each image number across and down the playing area. If you want your characters/creatures to appear behind objects you need to paste each creature after pasting the tile so that when the next row of tiles is pasted any tiles that hide or partially hide them will look right. The characters/creatures themselves can be stored in the map array with 3 numbers instead of just enough space for the x and y... the z coordinate can store bad guys, good guys, items, teleporters, whatever you want or use separate arrays.
You can make the map move constantly or just show one area of the map till the player moves off the screen.
That's all I can think of right now.