my answer: make a big array of characters, and put characters in certain places on the grid, standing for certain thigns... as example, make your grid like this:
where the 'E' is empty ground and the 'R' is a rock (mountain) that the player can't go on... and the 'P' is a poison Ivy patch that if the player walks over, will catch ivynuts+2, which will slow his movement down to 1/3.
and the player woudl be a class, wherein he'd have some array of items... every time he picked up an item, it would be added to the array, and every time he dropped/used/gave an item, it would be removed. the bounds of the array serve as the amount he/she can carry.
in the above example, you're going to want to have another method of keeping track of his ivynuts, and probably put some kind of timeout on that... as in the amount of turns he takes before his ivynuts are cleared and he can walk like a real man again.