<GLOBAL DIR-NAMES
<TABLE
P?NORTH "north"
P?SOUTH "south"
P?EAST "east"
P?WEST "west"
P?NW "northwest"
P?NE "northeast"
P?SE "southeast"
P?SW "southwest"
P?UP "above"
P?DOWN "below"
<> "somewhere">>
<ROUTINE PRINT-DIRECTION (DIR "AUX" (CNT 0) D)
<REPEAT ()
<SET D <GET ,DIR-NAMES .CNT>>
<COND (<OR <0? .D>
<EQUAL? .DIR .D>>
<TELL <GET ,DIR-NAMES <+ .CNT 1>>>
<RETURN>)>
<SET CNT <+ .CNT 2>>>>
; "Check if the current room has a usable exit from a specific room."
<ROUTINE FIND-DIRECTION-FROM (FROM "AUX" L)
<MAP-DIRECTIONS (P PT ,HERE)
<SET L <PTSIZE .PT>>
<COND (<AND <EQUAL? .L ,UEXIT ,DEXIT ,CEXIT>
<EQUAL? <GET/B .PT ,EXIT-RM> .FROM>>
<RETURN .P>)>>>