I would done something along these lines:
I have made a small drawing to help illustrate
<img src="https://dl.dropboxusercontent.com/u/2560922/mobiledev/forum/recursiveCheckNextdoor.png" border="0" />
I would create a Function, which checks the 4 fields surrounding a specific location. and then call it recursively if the field responds positively. The function should take a parameter on how many spot the player can move.
So, from the illustration.
Call the Function on the field where the player is. It checks all the fields marked by a "1". Inside the function there is a check if the field can be used. Subtract 1 from the "move" variable which was passed to the function call. If the field can be used and there are still "moves" left then call the function on the new location (in this case field marked by "1".
This recursive call will continue until there are no more moves left.
You can save in an array if the location could be moved to or not.
Something along those lines...