You can still do all of that.
Untested code follows (and I can't remember the complete syntax for everything, so some of it is psuedo code):
This is some basic code to create a 10x10 map using two randomly chosen map tiles.
Type _tileType
spriteID
tileType$
xpos
ypos
EndType
Dim mapArray[9,9] as _tileType
tile1=LoadImage("1.png")
tile2=LoadImage("2.png")
For y = 0 to 9
For x = 0 to 9
// pick random number between 1 and 2
If (random number) = 1
mapArray[x,y].spriteID = CreateSprite(tile1)
mapArray[x,y].tileType$ = "land"
Else
mapArray[x,y].spriteID = CreateSprite(tile2)
mapArray[x,y].tileType$ = "water"
EndIf
xPos = GetSpriteWidth(mapArray[x,y].spriteID*x
yPos = GetSpriteHeight(mapArray[x,y].spriteID*y
PositionSpriteByOffset(mapArray[x,y].spriteID, xPos, yPos)
Next x
Next y
Next comes the bit to save the map
For y = 0 to 9
mapToSave$ = ""
For x = 0 to 9
If mapArray[x,y].tileType$ = "land"
mapToSave$ = mapToSave$ + "l"
Else
mapToSave$ = mapToSave$ + "s"
EndIf
Next x
// write mapToSave$ line to file
Next y
When loading the map, you mix the saving code with the creation code so that as you read the file, you loop through the array receating the spriteID, xPos and yPos elements.
Being able to scroll the map has nothing to do with how anything is displayed on screen.