Refactor to avoide the use of tail calls
Refactor to avoide the use of tail calls

Using tail calls as a form of goto to structure game logic creates one
big monolitic piece of code which cannot be tested in isolation. It is
better to use return values which specify the next action to be taken.
Code size increases slightly, but modularity increases too.

PositronicBrain/Wumpus