DIM bearing(32) bearing() = 0.0, 16.87, 16.88, 33.75, 50.62, 50.63, 67.5, 84.37, \ \ 84.38, 101.25, 118.12, 118.13, 135.0, 151.87, 151.88, 168.75, \ \ 185.62, 185.63, 202.5, 219.37, 219.38, 236.25, 253.12, 253.13, \ \ 270.0, 286.87, 286.88, 303.75, 320.62, 320.63, 337.5, 354.37, 354.38 FOR i% = 0 TO 32 box% = FNcompassbox(bearing(i%), compass$) PRINT ; bearing(i%), ; box%, compass$ NEXT END DEF FNcompassbox(bearing, RETURN box$) LOCAL pt% pt% = INT(bearing / 360 * 32 + 0.5) MOD 32 box$ = FNpt(pt%) LEFT$(box$,1) = CHR$(ASC(LEFT$(box$,1))-32) = pt% + 1 DEF FNpt(pt%) LOCAL pt$() : DIM pt$(3) IF pt% AND 1 THEN = FNpt((pt% + 1) AND 28) + " by " + \ \ FNpt(((2 - (pt% AND 2)) * 4) + pt% AND 24) IF pt% AND 2 THEN = FNpt((pt% + 2) AND 24) + "-" + FNpt((pt% OR 4) AND 28) IF pt% AND 4 THEN = FNpt((pt% + 8) AND 16) + FNpt((pt% OR 8) AND 24) pt$() = "north", "east", "south", "west" = pt$(pt% DIV 8)