I already have the battle engine guts worked out, and I have a plan about how to move around. However, I cant figure out the best way to move from room to room. The character is going to have a choice to go N S E or W in each room.

I originally planned having each room in its own function, but I decided against that because they would be calling each other indefinatly, and therfore I couldnt end the program (cant end the program if you cant call return 0; on main()). Now, however, I cant really decide how I should do this. Insights or advice, please?