Az movement

This is a text-based game. User can view a colored ascii map in their browser and a group of buttons. User can click buttons to determine direction they want their character to move. Characters can circumnavigate world. 
Because this is the only way to create deep copies in Ruby. I need deep copies otherwise everytime I create changes to terrain to be displayed (marking character coordinates), they change the actual terrain. I do not want the original terrain altered in anyway, I want to only alter a duplicate of it.