10 INPUT"NO. OF ROOMS";M 20 DIM A$(M):X=1:Y=1:Z=5 22 N=1:A$(1)=CHR$(X)+CHR$(Y)+CHR$(Z):FORI=1TO7:A$(1)=A$(1)+CHR$(1) 23 NEXT 25 PRINT 30 R=INT(RND(1)*6)+1 40 IF R=2 AND Y=1 GOTO30 50 IF R=4 AND X=1 GOTO30 60 IF R=5 AND Z=10GOTO30 70 IF R=6 AND Z=1 GOTO30 80 IF R=1 THEN Y=Y+1 90 IF R=2 THEN Y=Y-1 100 IF R=3 THENX=X+1 110 IF R=4 THEN X=X-1 120 IF R=5 THEN Z=Z+1 130 IF R=6 THEN Z=Z-1 140 W$=CHR$(X)+CHR$(Y)+CHR$(Z) 150 FOR I=1 TO L 160 IF MID$(A$(I),1,3)=W$ GOTO 300 170 NEXT 180 L=N:N=N+1:K=0 185 PRINT W$ 190 A$(N)=W$ 195 FORI=1TO7:A$(N)=A$(N)+CHR$(1):NEXT 200 A$(L)=MID$(A$(L),1,2+R)+CHR$(N+48)+MID$(A$(L),4+R) 205 PRINT"200";L;LEN(A$(L)) 210 R=R+1:IF R/2<>INT(R/2) THEN R=R-2 220 A$(N)=MID$(A$(N),1,2+R)+CHR$(L+48)+MID$(A$(N),R+4) 225 PRINT"220";N;LEN(A$(N)) 230 IF NINT(R/2)THENR=R-2 320 A$(I)=MID$(A$(I),1,2+R)+CHR$(N+48)+MID$(A$(I),4+R) 322 PRINT"320";I;LEN(A$(I)) 325 X=ASC(MID$(A$(N),1)):Y=ASC(MID$(A$(N),2)):Z=ASC(MID$(A$(N),3)) 330 K=K+1:IF K=10 GOTO390 340 GOTO 30 390 P=1:PRINT N;"ROOMS":GOSUB900 400 D=0:INPUT"DIRECTION";I$:T$=MID$(I$,1,1) 410 IF T$="N" THEN D=1 420 IF T$="S" THEN D=2 430 IF T$="E" THEN D=3 440 IF T$="W" THEN D=4 450 IF T$="U" THEN D=5 460 IF T$="D" THEN D=6 470 IF D=0 GOTO400 480 T=ASC(MID$(A$(P),3+D))-48 490 IF T<0 THEN PRINT"CAN'T GO THAT WAY":GOTO400 500 P=T:GOSUB900:GOTO400 900 PRINT:PRINT"AT ROOM";P:PRINT:PRINTA$(P):PRINT:RETURN 999 END