Make a UDT for a tile, containing data for what tile type it is, and any other data you may want, then, make a 2D array. Fill it in with data, then display it by looping though each dimention, getting the data, and pasting a specific image at that tile's position.
Then, when making controls, check what tile type the player is on so you can ensure you can move him.
"It's like floating a boat on a liquid that I don't know, but I'm quite happy to drink it if I'm thirsty enough" - Me being a good programmer but sucking at computers