L& 7770 100000 === L A B Y R I N T H ===#S By Don Scales, Computing Today, Jan 1980Y(2 Adapted for Nascom 1 or 2 with NAS-SYS< and NAS-GRA V.3 graphics byF N. Rodrigues Jan 1980.ۋ% PZ Extended by Richard Beal, Feb 1980. d5n 3200,25311: 3202,312: 3204,18351^x 3206,10927: 3208,8179: 3210,233y 4100,3200: ZZ(181) === Restart here ===170: 4290:240 === Clear Screen & Print Heading ===$  TT3018 3065: TT,219:TT$" L A B Y R I N T H "- TT1 (TT$)L 3032TT,((TT$,TT,1)):Rp === Random Function === R(X)((1)X1) === Get Maze Dimensions === 10,4"Enter Size of Maze:"# 36,6:" "" 1,7:" " , 10,626"Width, Height (Max=15,6) ";H,VK@H(H)V(V)280mJ H15 H1 V6 V1 280T H1 V1 280^ 10,8h"Thinking ....."rAHV1|Q0:Z0:TR(H) === Save Maz" e Entry Point ===ZZ(A)TZZ(T)1:C2RT:S1: 500A === Start of Maze Build Routine ===R RH 480c SV 470uR1:S1: 490R1:SS1: 490RR1 ZZ(R(S1)H)0 440 R10 820 ZZ(R1(S1)H)! 0 820 S10 660 ZZ(R(S2)H)0 660 RH 580>& ZZ(R1(S1)H)0 580a0 === Left - Down - Right ===}: R(3) 1140,1190,1240D SV 610N Z1 650XQ1: 630b ZZ(RSH)0 650l === Left -h Down - Up ===v R(3) 1140,1190,1320 === Left - Down ===3 R(2) 1140,1190C RH 760b ZZ(R1(S1)H)0 760s SV 710 Z1 750Q1: 730 ZZ(RSH)0 750 === Left - Right - Up === R(3) 1140,1240,1320 === Left - Right === R(2) 1140,1240+ SV 790; Z1 1140I Q1: 810b ZZ(RSH)0 1140{  === Left - Up ===* R(2) 1140,13204 S10 1000> ZZ(R(S2)H)0 1000H RH 940R" ZZ(R1(S1)H)0 940\ SV 890f Z1 930pQ1: 9108z ZZ(RSH)0 930Y === Down - Right - Up ===u R(3) 1190,1240,1320 === Down - Right === R(2) 1190,1240 SV 970 Z1 1190Q1: 99 0 ZZ(RSH)0 1190  === Down - Up ===# R(2) 1190,13203 RH 1080R ZZ(R1(S1)H)0 1080c SV 1050t Z1 1240Q1:1070 ZZ(RSH)0 1240$ === Right - Up ===. R(2) 1240,13208 Sw V 1110B Z1 440LQ1:1120V ZZ(RSH)0 440!` 13205j === Left ===KtZZ(R1(S1)H)Co~CC1:ZZ(AR1(S1)H)2:RR1 CA 1450Q0: 500 === Down ===ZZ(R(S2)H)CCC1ZZ(AR(S2)H)1: SS1: CA 1450Q0: 500  === Right ==="ZZ(R1(S1)H)CGCC1: ZZ(AR(S1)H)0 1270dZZ(AR(S1)H)3: 1280zZZ(AR(S1)H)2RR1  CA 1450 820 === Up ===( Q1 14002ZZ(RSH)C:CC 1< ZZ(AR(S1)H)0 1360FZZ(AR(S1)H)3: 1370*PZZ(AR(S1)H)1AZSS1: CA 1450Kd 500pn === Exit at Top of Screen ===xxZ1 ZZ(AR(S1)H)0 1430ZZ(AR(S1)H)3:Q0: 440ZZ(AR(S1)H)1:Q0:R1:ST 1: 490 === Make Exit if Not There === Z1 1480,TAR(H)(V1)H>ZZ(T)ZZ(T)1`10,8:"Still thinking ....." === Translate Routine === I1 A1JIAZZ(I)(3ZZ(J))2WZZ(A) === Complete Cell Information === J1 V"K(J1)H, I1 H 6LIK2@ J1 1630CJ IW 1660RTM1: 1650e^M(ZZ(LH)2)vhMM(M2)2rZZ(L)ZZ(L)M8| I1 M1: 1690M(ZZ(L1)4)MM(M2)2ZZ(L)ZZ(L)Mv :  === End of maze creation ===  10,82 "Do you want to see the Maze ?"J I(0): I0 1740]  I89 2230y 170: 2,1:"Cheat !!!"  19,1 "- Exit(s) -"  === 2D Display Routine ===  JV 1 1  I1  H TAI(J1)H !& ZZ(T)0 ZZ(T)2 1870-!0 === Print Top of Cells ===9!:" ";D!D 1880P!N"";V!X_!b""i!l"";w!v I1 H! ZZ(AI(J1)H)2 1960! === Print Sides of Cells ===!" ";! 1970!O! " ";!::! I1 H " IZZ(A) 2020." === Print Bottom of Maze ===A""";: 2030M"" ";S"\"""g" 2150"  === Display figure ==="XX3X1:YY2V32Y"  XX,YY"* Z1 "^";"4 Z2 " ";"> " Z3 " ";#HZ4" ";:199464YYXX1,13 #R$#\ === Entrance ===L#f ZZ(A)8 E$"Entrance ^": 2180a#pE$"^ Entrance"#z ZZ(A)31,V23: E$;: 2190# (ZZ(A)4)32,V23: E$;# WW1 2070: 2560# 42,1:"Ok ?"#,# I(0): I0 2210$ === Set Up Start Parameters ==="$XW:Y0:Z1D$ === Print Instructions ===O$ 2290g$I(0): I0 2260v$I0: 3290$ === Instructions ===$170: 1,2$" Instructions:-":$ " Press Cursor( ";: 2$ 265,13$ ") to turn left"% " Cursor( ) to turn right"F%$ " Cursor(^) to move forward"o%. " Cursor( ) to turn around"%8 " M for a drawing of the maze"%B " A for automatic moves"%L " G to g% ive up" &V " Any other key for assistance"&` :2&j " Press any key to start"8&t T&~ === Help Routine ===n& 2,4:"You are at:":& X;"- East":& Y;"- North":& "You are facing:":& Z1 " North"& Z2 " & East"& Z3 " South"' Z4 " West"' ' 1,1+' 2590G' === Move after 2D ===_' I(0): I0 2560k' :2670' === Test for end ===' YV 4150'( === Auto Move ==='2 AM1 2660'< I(0): I0 g' AM0: 2660(F I16R(8): I20 I19 (P 2670#(Z === Get Input ===;(d I(0): I0 2660M(n I17 2760_(x I18 2800q( I19 3230( I20 2840( I77 WW1:AHV1: 1760( I65 AM1: 2590( I71 4250( 21( 440( === Left Turn ===( ZZ1) Z1 ZZ4) 32904) === Right Turn ===>) ZZ1P) Z4 ZZ4[) 3290u) === Turn Round ===) ZZ2: Z4 ZZ4)" 3290), === Rotate & Look Routine ===)6 B0 3000)@ B/) V E2:)J FZZ(A(B1)H)*T Z1 2950*^ === Rotate ===**h J2 ZF*r F(F2)(F(F2)2)8L*| ]* CF(F2)2s* D(F4)(F8)2* E(F2)(F4)2* * === Outside Maze ===* C0:D0:E1* Z1 3060* E1* * AW E0* + === No Man's Land ===+ Z3 E2/+ Z2 AH E2E+ Z4 A1 E2K+ m+ === Index to Next Cell ===~+& E0 3180+0 Z1 BB1:+: Z2 AA1:+D Z3 BB1:+N Z4 AA1+X +b + === Message Routine ===+l 19,7,v E1 " Dead End ":, E2 "No Man's Land"F, 1,1:e, === Forward Routine ===y, MMMM1:AX:BY, 2870, 3110, XA:YB, E0 2590, === 3D Display Routine ===, : , I17 "Turn left"- I18 "Turn right""- I19 "Move forward">- I20 "Turn around"[- I0 "Enter command"j- MM"moves"}- AX:BY: 2870- === 5 Depths ===-* T1 5-4 3470-> === Check for Next Depth ===-H - E0 2590-R 3110-\ 2870 .f E2 2590.p .z 2590A. === Jump to Display Depth ===d. T 3490,3590,3780,3950,4060. === Display Depth 1 ===. E0 E1 . IR1R2R3. I,C7: I28,C7:. E0 . U1,+. C5: U2,C6. IR4R5/ I,C8: I896,C8:/ U3,CA: U4,CB!/ @/ === Display Depth 2 ===Q/ C0 3630j/V1,C2:V2,C2:V3,C2/V4,C4:V5,C4:V6,C4/$ 3650/. I2266 2270/8I,C9:I576,C9:/B D0 3690/LW1,C1:W?/ 2,C1:W3,C1/VW4,C3:W5,C3:W6,C30` 37100j I2288 229200tI,C9:I576,C9:I0~ I2271 2783 64^0I,C7:I16,C7:l0 E0 0 I2272 22860I,C9:I576,C9:00 === Display Depth 3 ===0 C0 38100X1,C2V0 :X2,C2:X3,C4:X4,C40 3830 1 I2400 2402!1I,C9:I320,C9:21 D0 3860R1Y1,C1:Y2,C1:Y3,C3:Y4,C3]1  3880q1 I2412 24141I,C9:I320,C9:1( I2403 2659 6412I,C7:I8,C7:1< E0 1F I2404 2410%1 1PI,C9:I320,C9:1Z2d === Display Depth 4 ===/2nC0Z1,C2:Z2,C4:3970A2xZ3,C9:Z4,C9`2D0 Z5,C1:Z6,C3:3990r2Z7,C9:Z8,C92 I2469 2597 642I,C7:I4,C7:2 E0 2 I2470 24722I,C9:I192,C9:22 22 === Display Depth 5 ===3C0ZA,C2:ZB,C4:4080-3 ZC,CA:ZD,CBK3D0ZE,C1:ZF,C3:4100]3ZG,C5:ZI,C6o3ZJ,C7:ZK,C7}3 E0 3ZL,C8:ZM,C83"3, === Way Out Found ===361703@ 19,73J" Way out"3 3T17,9:MM"moves taken"4^18,11:"Another game ?"%4hI(0): I0420064r I78 150E4|"Goodbye"Q4 4470 h4 === Give up ===w4170:19,74"You gave up!"441804 === Initialise ===4I0:J0:Z0:C0:D0:E0:T0:A0:H0Q4 4B0:W0:R0:F0:X0:Y0:S0:V0:Q0$5WW0:AM0:MM0:I0181:ZZ(I)0:R5C1136:C2137:C3138:C4139:C5144:C6146y5C7148:C8152:C9157:CA145:CB1475R12073:R22969:R364:R42074:R521005U12073:U22969:U32101:U429975V12074:V2>5 2140:V32206:V42970:V529086V62846:W12100:W22162:W32224:W4299636W52930:W62864W6&X12272:X22338:X32784:X42722{60Y12286:Y22348:Y32798:Y427326:Z12404:Z22660:Z32468:Z426606DZ52410:Z62666:Z72474:Z826666NZA2470:ZB25986:ZC2470:ZD2598 7XZE2472:ZF2600:ZG2472:ZI2600/7bZJ2534:ZK2536:ZL2471:ZM259957l;7v