i guess the map is in a 2D array or something similar? if that is the case it is really easy to work around, just make a check whether the spot you move to is occupied, EG. add this to move hero:
if (somearray[someintx + hero.x, someinty + hero.y] == " ")
for detecting items you can pick up do just the same but change " " to "(ItemSymbol)" and so on, not too hard when you first get the hand around it.