> if (Room[RoomNumber].Exit[0] != NO_EXIT) printf(" North: %s\n", Room[Room[RoomNumber].Exit[0]]
What about Room[Room[Room[ or Room[Room[Room[Room[Room[Room[ ?
There are still a lot of 0 to 3 all over the place.
You've learnt about enum, so maybe
Code:
enum {
North,
East,
South,
West,
MAX_DIRN
};
Then
Code:
const char *dirns[] = { "North", "East", "South", "West" };
And finally (phew)
Code:
for ( dirn = 0 ; dirn < MAX_DIRN ; dirn++ ) {
if ( Room[RoomNumber].Exit[dirn] != NO_EXIT)
printf(" %s: %s\n", dirns[dirn], Room[RoomNumber].Description );
}