 0  ONERR  GOTO 4
 1  REM 
 4  PR# 0: IN# 0
 5  HIMEM: 49151
 7  CLEAR : GOSUB 60000
 8 ZZ =  RND ( -  ABS (LN))
 9 LEVEL = 0
 10  TEXT : HOME : NORMAL : VTAB (12): PRINT " WELCOME TO AKALABETH, WORL
     D OF DOOM!"
 20  DIM DN%(10,10),TE%(20,20),XX%(10),YY%(10),PER%(10,3),LD%(10,5),CD%(1
     0,3),FT%(10,5),LAD%(10,3)
 30  FOR X = 0 TO 20:TE%(X,0) = 1:TE%(0,X) = 1:TE%(X,20) = 1:TE%(20,X) = 
     1: NEXT 
 35 : VTAB (23): PRINT "  (PLEASE WAIT)";
 40  FOR X = 1 TO 19: FOR Y = 1 TO 19:TE%(X,Y) =  INT ( RND (1) ^ 5 * 4.5
     )
 41  IF TE%(X,Y) = 3 AND  RND (1) > .5 THEN TE%(X,Y) = 0
 42  NEXT : PRINT ".";: NEXT 
 50 TE%( INT ( RND (1) * 19 + 1), INT ( RND (1) * 19 + 1)) = 5:TX =  INT 
     ( RND (1) * 19 + 1):TY =  INT ( RND (1) * 19 + 1):TE%(TX,TY) = 3
 51 XX%(0) = 139:YY%(0) = 79
 52  FOR X = 2 TO 20 STEP 2:XX%(X / 2) =  INT ( ATN (1 / X) /  ATN (1) * 
     140 + .5):YY%(X / 2) =  INT (XX%(X / 2) * 4 / 7)
 53 PER%(X / 2,0) = 139 - XX%(X / 2):PER%(X / 2,1) = 139 + XX%(X / 2):PER
     %(X / 2,2) = 79 - YY%(X / 2):PER%(X / 2,3) = 79 + YY%(X / 2): NEXT 
 54 PER%(0,0) = 0:PER%(0,1) = 279:PER%(0,2) = 0:PE%(0,3) = 159
 55  FOR X = 1 TO 10:CD%(X,0) = 139 - XX%(X) / 3:CD%(X,1) = 139 + XX%(X) / 
     3:CD%(X,2) = 79 - YY%(X) * .7:CD%(X,3) = 79 + YY%(X): NEXT : PRINT "
     .";
 56  FOR X = 0 TO 9:LD%(X,0) = (PER%(X,0) * 2 + PER%(X + 1,0)) / 3:LD%(X,
     1) = (PER%(X,0) + 2 * PER%(X + 1,0)) / 3:W = LD%(X,0) - PE%(X,0)
 57 LD%(X,2) = PE%(X,2) + W * 4 / 7:LD%(X,3) = PER%(X,2) + 2 * W * 4 / 7:
     LD%(X,4) = (PE%(X,3) * 2 + PE%(X + 1,3)) / 3:LD%(X,5) = (PE%(X,3) + 
     2 * PE%(X + 1,3)) / 3
 58 LD%(X,2) = LD%(X,4) - (LD%(X,4) - LD%(X,2)) * .8:LD%(X,3) = LD%(X,5) - 
     (LD%(X,5) - LD%(X,3)) * .8: IF LD%(X,3) = LD%(X,4) THEN LD%(X,3) = L
     D%(X,3) - 1
 59  NEXT 
 60  FOR X = 0 TO 9:FT%(X,0) = 139 - XX%(X) / 3:FT%(X,1) = 139 + XX%(X) / 
     3:FT%(X,2) = 139 - XX%(X + 1) / 3:FT%(X,3) = 139 + XX%(X + 1) / 3
 61 FT%(X,4) = 79 + (YY%(X) * 2 + YY%(X + 1)) / 3:FT%(X,5) = 79 + (YY%(X)
      + 2 * YY%(X + 1)) / 3: NEXT 
 62  FOR X = 0 TO 9:LAD%(X,0) = (FT%(X,0) * 2 + FT%(X,1)) / 3:LAD%(X,1) = 
     (FT%(X,0) + 2 * FT%(X,1)) / 3:LAD%(X,3) = FT%(X,4):LAD%(X,2) = 159 - 
     LAD%(X,3): NEXT 
 68  HOME : HCOLOR= 3
 69  POKE 34,20: POKE 33,29: HOME 
 70  GOSUB 100: GOTO 1000
 90  FOR X = 0 TO 9: FOR Y = 0 TO 5: PRINT LD%(X,Y);" ";: NEXT : PRINT : NEXT 
     : GET Q$
 100  HGR : FOR Y =  - 1 TO 1: FOR X =  - 1 TO 1
 105  HPLOT 138,75 TO 142,75: HPLOT 140,73 TO 140,77
 110 ZZ = TER%(TX + X,TY + Y):X1 = 65 + (X + 1) * 50:Y1 = (Y + 1) * 50
 120  IF ZZ = 2 THEN  HPLOT X1 + 20,Y1 + 20 TO X1 + 30,Y1 + 20 TO X1 + 30
     ,Y1 + 30 TO X1 + 20,Y1 + 30 TO X1 + 20,Y1 + 20
 130  IF ZZ = 3 THEN  HPLOT X1 + 10,Y1 + 10 TO X1 + 20,Y1 + 10 TO X1 + 20
     ,Y1 + 40 TO X1 + 10,Y1 + 40 TO X1 + 10,Y1 + 30 TO X1 + 40,Y1 + 30 TO 
     X1 + 40,Y1 + 40 TO X1 + 30,Y1 + 40 TO X1 + 30,Y1 + 10 TO X1 + 40,Y1 + 
     10 TO X1 + 40,Y1 + 20 TO X1 + 10,Y1 + 20 TO X1 + 10,Y1 + 10
 140  IF ZZ = 4 THEN  HPLOT X1 + 20,Y1 + 20 TO X1 + 30,Y1 + 30: HPLOT X1 + 
     20,Y1 + 30 TO X1 + 30,Y1 + 20
 150  IF ZZ = 5 THEN  HPLOT X1,Y1 TO X1 + 50,Y1 TO X1 + 50,Y1 + 50 TO X1,
     Y1 + 50 TO X1,Y1: HPLOT X1 + 10,Y1 + 10 TO X1 + 10,Y1 + 40 TO X1 + 4
     0,Y1 + 40 TO X1 + 40,Y1 + 10 TO X1 + 10,Y1 + 10 TO X1 + 40,Y1 + 40: HPLOT 
     X1 + 10,Y1 + 40 TO X1 + 40,Y1 + 10
 160  IF ZZ = 1 THEN  HPLOT X1 + 10,Y1 + 50 TO X1 + 10,Y1 + 40 TO X1 + 20
     ,Y1 + 30 TO X1 + 40,Y1 + 30 TO X1 + 40,Y1 + 50: HPLOT X1,Y1 + 10 TO 
     X1 + 10,Y1 + 10: HPLOT X1 + 50,Y1 + 10 TO X1 + 40,Y1 + 10: HPLOT X1,
     Y1 + 40 TO X1 + 10,Y1 + 40: HPLOT X1 + 40,Y1 + 40 TO X1 + 50,Y1 + 40
     
 170  IF ZZ = 1 THEN  HPLOT X1 + 10,Y1 TO X1 + 10,Y1 + 20 TO X1 + 20,Y1 + 
     20 TO X1 + 20,Y1 + 30 TO X1 + 30,Y1 + 30 TO X1 + 30,Y1 + 10 TO X1 + 
     40,Y1 + 10 TO X1 + 40,Y1
 190  NEXT : NEXT : RETURN 
 200  HGR :DIS = 0: HCOLOR= 3
 202 CENT = DNG%(PX + DX * DIS,PY + DY * DIS):LEFT = DNG%(PX + DX * DIS + 
     DY,PY + DY * DIS - DX):RIGH = DNG%(PX + DX * DIS - DY,PY + DY * DIS + 
     DX)
 204 L1 = PER%(DIS,0):R1 = PER%(DIS,1):T1 = PER%(DIS,2):B1 = PER%(DIS,3):
     L2 = PER%(DIS + 1,0):R2 = PER%(DIS + 1,1):T2 = PER%(DIS + 1,2):B2 = 
     PER%(DIS + 1,3)
 205 CENT =  INT (CENT):LEFT =  INT (LEFT):RIGHT =  INT (RIGHT)
 206 MC =  INT (CENT / 10):CENT = CENT - MC * 10:LEFT =  INT ((LEFT / 10 - 
      INT (LEF / 10)) * 10 + .1):RIGH =  INT ((RIGH / 10 -  INT (RIG / 10
     )) * 10 + .1)
 208  IF DIS = 0 THEN 216
 210  IF CENT = 1 OR CENT = 3 OR CENT = 4 THEN  HPLOT L1,T1 TO R1,T1 TO R
     1,B1 TO L1,B1 TO L1,T1
 212  IF CENT = 1 OR CENT = 3 THEN EN = 1: GOTO 260
 214  IF CENT = 4 THEN  HPLOT CD%(DIS,0),CD%(DIS,3) TO CD%(DIS,0),CD%(DIS
     ,2) TO CD%(DIS,1),CD%(DIS,2) TO CD%(DIS,1),CD%(DIS,3):EN = 1: GOTO 2
     60
 216  IF LEFT = 1 OR LEFT = 3 OR LEFT = 4 THEN  HPLOT L1,T1 TO L2,T2: HPLOT 
     L1,B1 TO L2,B2
 218  IF RIGH = 1 OR RIGH = 3 OR RIGH = 4 THEN  HPLOT R1,T1 TO R2,T2: HPLOT 
     R1,B1 TO R2,B2
 220  IF LEFT = 4 AND DIS > 0 THEN  HPLOT LD%(DIS,0),LD%(DIS,4) TO LD%(DI
     S,0),LD%(DIS,2) TO LD%(DIS,1),LD%(DIS,3) TO LD%(DIS,1),LD%(DIS,5)
 222  IF LEFT = 4 AND DIS = 0 THEN  HPLOT 0,LD%(DIS,2) - 3 TO LD%(DIS,1),
     LD%(DIS,3) TO LD%(DIS,1),LD%(DIS,5)
 224  IF RIGH = 4 AND DIS > 0 THEN  HPLOT 279 - LD%(DIS,0),LD%(DIS,4) TO 
     279 - LD%(DIS,0),LD%(DIS,2) TO 279 - LD%(DIS,1),LD%(DIS,3) TO 279 - 
     LD%(DIS,1),LD%(DIS,5)
 226  IF RIGH = 4 AND DIS = 0 THEN  HPLOT 279,LD%(DIS,2) - 3 TO 279 - LD%
     (DIS,1),LD%(DIS,3) TO 279 - LD%(DIS,1),LD%(DIS,5)
 228  IF LEFT = 3 OR LEFT = 1 OR LEFT = 4 THEN 234
 230  IF DIS <  > 0 THEN  HPLOT L1,T1 TO L1,B1
 232  HPLOT L1,T2 TO L2,T2 TO L2,B2 TO L1,B2
 234  IF RIGH = 3 OR RIGH = 1 OR RIGH = 4 THEN 240
 236  IF DIS <  > 0 THEN  HPLOT R1,T1 TO R1,B1
 238  HPLOT R1,T2 TO R2,T2 TO R2,B2 TO R1,B2
 240  IF CENT = 7 OR CENT = 9 THEN  HPLOT FT%(DIS,0),FT%(DIS,4) TO FT%(DI
     S,2),FT%(DIS,5) TO FT%(DIS,3),FT%(DIS,5) TO FT%(DIS,1),FT%(DIS,4) TO 
     FT%(DIS,0),FT%(DIS,4)
 242  IF CENT = 8 THEN  HPLOT FT%(DIS,0),158 - FT%(DIS,4) TO FT%(DIS,2),1
     58 - FT%(DIS,5) TO FT%(DIS,3),158 - FT%(DIS,5) TO FT%(DIS,1),158 - F
     T%(DIS,4) TO FT%(DIS,0),158 - FT%(DIS,4)
 244  IF CENT = 7 OR CENT = 8 THEN BASE = LAD%(DIS,3):TP = LAD%(DIS,2):LX
      = LAD%(DIS,0):RX = LAD%(DIS,1): HPLOT LX,BA TO LX,TP: HPLOT RX,TP TO 
     RX,BA
 246  IF CENT = 7 OR CENT = 8 THEN Y1 = (BA * 4 + TP) / 5:Y2 = (BA * 3 + 
     TP * 2) / 5:Y3 = (BA * 2 + TP * 3) / 5:Y4 = (BA + TP * 4) / 5: HPLOT 
     LX,Y1 TO RX,Y1: HPLOT LX,Y2 TO RX,Y2: HPLOT LX,Y3 TO RX,Y3: HPLOT LX
     ,Y4 TO RX,Y4
 248  IF DIS > 0 AND CENT = 5 THEN  HPLOT 139 - 10 / DIS,PER%(DIS,3) TO 1
     39 - 10 / DIS,PER%(DIS,3) - 10 / DIS TO 139 + 10 / DIS,PER%(DIS,3) - 
     10 / DIS TO 139 + 10 / DIS,PER%(DIS,3) TO 139 - 10 / DIS,PER%(DIS,3)
     
 249  IF CENT = 5 AND DIS > 0 THEN  INVERSE : PRINT "CHEST!": NORMAL 
 250  IF DIS > 0 AND CENT = 5 THEN  HPLOT 139 - 10 / DIS,PER%(DIS,3) - 10
      / DIS TO 139 - 5 / DIS,PER%(DIS,3) - 15 / DIS TO 139 + 15 / DIS,PER
     %(DIS,3) - 15 / DIS TO 139 + 15 / DIS,PER%(DIS,3) - 5 / DIS TO 139 + 
     10 / DIS,PER%(DIS,3)
 252  IF DIS > 0 AND CENT = 5 THEN  HPLOT 139 + 10 / DIS,PER%(DIS,3) - 10
      / DIS TO 139 + 15 / DIS,PER%(DIS,3) - 15 / DIS
 260  IF MC < 1 THEN 490
 265 B = 79 + YY%(DIS):C = 139
 266  INVERSE : IF MC = 8 THEN  PRINT "CHEST!";: CALL  - 868: PRINT : NORMAL 
     : GOTO 269
 267  PRINT M$(MC);: CALL  - 868: PRINT : NORMAL 
 269  IF DIS = 0 THEN 490
 270  ON MC GOTO 300,310,320,330,340,350,360,370,380,390
 280  GOTO 490
 300  HPLOT C - 23 / DIS,B TO C - 15 / DIS,B TO C - 15 / DI,B - 15 / DI TO 
     C - 8 / DI,B - 30 / DI TO C + 8 / DI,B - 30 / DI TO C + 15 / DI,B - 
     15 / DI TO C + 15 / DI,B TO C + 23 / DI,B
 301  HPLOT C,B - 26 / DI TO C,B - 65 / DI: HPLOT C - 2 / DI + .5,B - 38 / 
     DI TO C + 2 / DI + .5,B - 38 / DI: HPLOT C - 3 / DI + .5,B - 45 / DI
      TO C + 3 / DI + .5,B - 45 / DI: HPLOT C - 5 / DI + .5,B - 53 / DI TO 
     C + 5 / DI + .5,B - 53 / DI
 302  HPLOT C - 23 / DI,B - 56 / DI TO C - 30 / DI,B - 53 / DI TO C - 23 / 
     DI,B - 45 / DI TO C - 23 / DI,B - 53 / DI TO C - 8 / DI,B - 38 / DI
 303  HPLOT C - 15 / DI,B - 45 / DI TO C - 8 / DI,B - 60 / DI TO C + 8 / 
     DI,B - 60 / DI TO C + 15 / DI,B - 45 / DI: HPLOT C + 15 / DI,B - 42 / 
     DI TO C + 15 / DI,B - 57 / DI: HPLOT C + 12 / DI,B - 45 / DI TO C + 
     20 / DI,B - 45 / DI
 304  HPLOT C,B - 75 / DI TO C - 5 / DI + .5,B - 80 / DI TO C - 8 / DI,B - 
     75 / DI TO C - 5 / DI + .5,B - 65 / DI TO C + 5 / DI + .5,B - 65 / D
     I TO C + 5 / DI + .5,B - 68 / DI TO C - 5 / DI + .5,B - 68 / DI TO C
      - 5 / DI + .5,B - 65 / DI
 305  HPLOT  TO C + 5 / DI + .5,B - 65 / DI TO C + 8 / DI,B - 75 / DI TO 
     C + 5 / DI + .5,B - 80 / DI TO C - 5 / DI + .5,B - 80 / DI: HPLOT C - 
     5 / DI + .5,B - 72 / DI: HPLOT C + 5 / DI + .5,B - 72 / DI
 309  GOTO 490
 310  HPLOT C,B - 56 / DI TO C,B - 8 / DI TO C + 10 / DI,B TO C + 30 / DI
     ,B TO C + 30 / DI,B - 45 / DI TO C + 10 / DI,B - 64 / DI TO C,B - 56
      / DI
 311  HPLOT  TO C - 10 / DI,B - 64 / DI TO C - 30 / DI,B - 45 / DI TO C - 
     30 / DI,B TO C - 10 / DI,B TO C,B - 8 / DI
 312  HPLOT C - 10 / DI,B - 64 / DI TO C - 10 / DI,B - 75 / DI TO C,B - 8
     3 / DI TO C + 10 / DI,B - 75 / DI TO C,B - 79 / DI TO C - 10 / DI,B - 
     75 / DI TO C,B - 60 / DI TO C + 10 / DI,B - 75 / DI TO C + 10 / DI,B
      - 64 / DI
 319  GOTO 490
 320  HPLOT C + 5 / DI,B - 30 / DI TO C,B - 25 / DI TO C - 5 / DI,B - 30 / 
     DI TO C - 15 / DI,B - 5 / DI TO C - 10 / DI,B TO C + 10 / DI,B TO C + 
     15 / DI,B - 5 / DI
 321  HPLOT  TO C + 20 / DI,B - 5 / DI TO C + 10 / DI,B TO C + 15 / DI,B - 
     5 / DI TO C + 5 / DI,B - 30 / DI TO C + 10 / DI,B - 40 / DI TO C + 3
      / DI + .5,B - 35 / DI TO C - 3 / DI + .5,B - 35 / DI TO C - 10 / DI
     ,B - 40 / DI TO C - 5 / DI,B - 30 / DI
 322  HPLOT C - 5 / DI,B - 33 / DI TO C - 3 / DI + .5,B - 30 / DI: HPLOT 
     C + 5 / DI,B - 33 / DI TO C + 3 / DI + .5,B - 30 / DI: HPLOT C - 5 / 
     DI,B - 20 / DI TO C - 5 / DI,B - 15 / DI
 323  HPLOT C + 5 / DI,B - 20 / DI TO C + 5 / DI,B - 15 / DI: HPLOT C - 7
      / DI,B - 20 / DI TO C - 7 / DI,B - 15 / DI: HPLOT C + 7 / DI,B - 20
      / DI TO C + 7 / DI,B - 15 / DI
 329  GOTO 490
 330  HPLOT C,B TO C - 15 / DI,B TO C - 8 / DI,B - 8 / DI TO C - 8 / DI,B
      - 15 / DI TO C - 15 / DI,B - 23 / DI TO C - 15 / DI,B - 15 / DI TO 
     C - 23 / DI,B - 23 / DI
 331  HPLOT  TO C - 23 / DI,B - 45 / DI TO C - 15 / DI,B - 53 / DI TO C - 
     8 / DI,B - 53 / DI TO C - 15 / DI,B - 68 / DI TO C - 8 / DI,B - 75 / 
     DI TO C,B - 75 / DI
 332  HPLOT C,B TO C + 15 / DI,B TO C + 8 / DI,B - 8 / DI TO C + 8 / DI,B
      - 15 / DI TO C + 15 / DI,B - 23 / DI TO C + 15 / DI,B - 15 / DI TO 
     C + 23 / DI,B - 23 / DI
 333  HPLOT  TO C + 23 / DI,B - 45 / DI TO C + 15 / DI,B - 53 / DI TO C + 
     8 / DI,B - 53 / DI TO C + 15 / DI,B - 68 / DI TO C + 8 / DI,B - 75 / 
     DI TO C,B - 75 / DI
 334  HPLOT C - 15 / DI,B - 68 / DI TO C + 15 / DI,B - 68 / DI: HPLOT C - 
     8 / DI,B - 53 / DI TO C + 8 / DI,B - 53 / DI: HPLOT C - 23 / DI,B - 
     15 / DI TO C + 8 / DI,B - 45 / DI
 335  HPLOT C - 8 / DI,B - 68 / DI TO C,B - 60 / DI TO C + 8 / DI,B - 68 / 
     DI TO C + 8 / DI,B - 60 / DI TO C - 8 / DI,B - 60 / DI TO C - 8 / DI
     ,B - 68 / DI
 336  HPLOT C,B - 38 / DI TO C - 8 / DI,B - 38 / DI TO C + 8 / DI,B - 53 / 
     DI TO C + 8 / DI,B - 45 / DI TO C + 15 / DI,B - 45 / DI TO C,B - 30 / 
     DI TO C,B - 38 / DI
 339  GOTO 490
 340  HPLOT C - 10 / DI,B - 15 / DI TO C - 10 / DI,B - 30 / DI TO C - 15 / 
     DI,B - 20 / DI TO C - 15 / DI,B - 15 / DI TO C - 15 / DI,B TO C + 15
      / DI,B TO C + 15 / DI,B - 15 / DI TO C - 15 / DI,B - 15 / DI
 341  HPLOT C - 15 / DI,B - 10 / DI TO C + 15 / DI,B - 10 / DI: HPLOT C - 
     15 / DI,B - 5 / DI TO C + 15 / DI,B - 5 / DI
 342  HPLOT C,B - 15 / DI TO C - 5 / DI,B - 20 / DI TO C - 5 / DI,B - 35 / 
     DI TO C + 5 / DI,B - 35 / DI TO C + 5 / DI,B - 20 / DI TO C + 10 / D
     I,B - 15 / DI
 343  HPLOT C - 5 / DI,B - 20 / DI TO C + 5 / DI,B - 20 / DI: HPLOT C - 5
      / DI,B - 25 / DI TO C + 5 / DI,B - 25 / DI: HPLOT C - 5 / DI,B - 30
      / DI TO C + 5 / DI,B - 30 / DI
 344  HPLOT C - 10 / DI,B - 35 / DI TO C - 10 / DI,B - 40 / DI TO C - 5 / 
     DI,B - 45 / DI TO C + 5 / DI,B - 45 / DI TO C + 10 / DI,B - 40 / DI TO 
     C + 10 / DI,B - 35 / DI
 345  HPLOT C - 10 / DI,B - 40 / DI TO C,B - 45 / DI TO C + 10 / DI,B - 4
     0 / DI
 346  HPLOT C - 5 / DI,B - 40 / DI TO C + 5 / DI,B - 40 / DI TO C + 15 / 
     DI,B - 30 / DI TO C,B - 40 / DI TO C - 15 / DI,B - 30 / DI TO C - 5 / 
     DI + .5,B - 40 / DI
 349  GOTO 490
 350  HPLOT C - 20 / DI,79 - YY%(DIS) TO C - 20 / DI,B - 88 / DI TO C - 1
     0 / DI,B - 83 / DI TO C + 10 / DI,B - 83 / DI TO C + 20 / DI,B - 88 / 
     DI TO C + 20 / DI,79 - YY%(DIS) TO C - 20 / DI,79 - YY%(DI)
 351  HPLOT C - 20 / DI,B - 88 / DI TO C - 30 / DI,B - 83 / DI TO C - 30 / 
     DI,B - 78 / DI: HPLOT C + 20 / DI,B - 88 / DI TO C + 30 / DI,B - 83 / 
     DI TO C + 40 / DI,B - 83 / DI
 352  HPLOT C - 15 / DI,B - 86 / DI TO C - 20 / DI,B - 83 / DI TO C - 20 / 
     DI,B - 78 / DI TO C - 30 / DI,B - 73 / DI TO C - 30 / DI,B - 68 / DI
      TO C - 20 / DI,B - 63 / DI
 353  HPLOT C - 10 / DI,B - 83 / DI TO C - 10 / DI,B - 58 / DI TO C,B - 5
     0 / DI: HPLOT C + 10 / DI,B - 83 / DI TO C + 10 / DI,B - 78 / DI TO 
     C + 20 / DI,B - 73 / DI TO C + 20 / DI,B - 40 / DI
 354  HPLOT C + 15 / DI,B - 85 / DI TO C + 20 / DI,B - 78 / DI TO C + 30 / 
     DI,B - 76 / DI TO C + 30 / DI,B - 60 / DI
 355  HPLOT C,B - 83 / DI TO C,B - 73 / DI TO C + 10 / DI,B - 68 / DI TO 
     C + 10 / DI,B - 63 / DI TO C,B - 58 / DI
 359  GOTO 490
 360  HPLOT C + 5 / DI + .5,B - 10 / DI TO C - 5 / DI + .5,B - 10 / DI TO 
     C,B - 15 / DI TO C + 10 / DI,B - 20 / DI TO C + 5 / DI + .5,B - 15 / 
     DI TO C + 5 / DI + .5,B - 10 / DI
 361  HPLOT  TO C + 7 / DI + .5,B - 6 / DI TO C + 5 / DI + .5,B - 3 / DI TO 
     C - 5 / DI + .5,B - 3 / DI TO C - 7 / DI + .5,B - 6 / DI TO C - 5 / 
     DI + .5,B - 10 / DI
 362  HPLOT C + 2 / DI + .5,B - 3 / DI TO C + 5 / DI + .5,B TO C + 8 / DI
     ,B: HPLOT C - 2 / DI + .5,B - 3 / DI TO C - 5 / DI + .5,B TO C - 8 / 
     DI,B: HPLOT C + 3 / DI + .5,B - 8 / DI: HPLOT C - 3 / DI + .5,B - 8 / 
     DI: HPLOT C + 3 / DI + .5,B - 5 / DI TO C - 3 / DI + .5,B - 5 / DI
 363  GOTO 490
 370  HPLOT 139 - 10 / DIS,PER%(DIS,3) TO 139 - 10 / DIS,PER%(DIS,3) - 10
      / DIS TO 139 + 10 / DIS,PER%(DIS,3) - 10 / DIS TO 139 + 10 / DIS,PE
     R%(DIS,3) TO 139 - 10 / DIS,PER%(DIS,3)
 371  HPLOT 139 - 10 / DIS,PER%(DIS,3) - 10 / DIS TO 139 - 5 / DIS,PER%(D
     IS,3) - 15 / DIS TO 139 + 15 / DIS,PER%(DIS,3) - 15 / DIS TO 139 + 1
     5 / DIS,PER%(DIS,3) - 5 / DIS TO 139 + 10 / DIS,PER%(DIS,3)
 372  HPLOT 139 + 10 / DIS,PER%(DIS,3) - 10 / DIS TO 139 + 15 / DIS,PER%(
     DIS,3) - 15 / DIS
 373  GOTO 490
 380  HPLOT C - 14 / DI,B - 46 / DI TO C - 12 / DI,B - 37 / DI TO C - 20 / 
     DI,B - 32 / DI TO C - 30 / DI,B - 32 / DI TO C - 22 / DI,B - 24 / DI
      TO C - 40 / DI,B - 17 / DI TO C - 40 / DI,B - 7 / DI TO C - 38 / DI
     ,B - 5 / DI TO C - 40 / DI,B - 3 / DI TO C - 40 / DI,B
 381  HPLOT  TO C - 36 / DI,B TO C - 34 / DI,B - 2 / DI TO C - 32 / DI,B TO 
     C - 28 / DI,B TO C - 28 / DI,B - 3 / DI TO C - 30 / DI,B - 5 / DI TO 
     C - 28 / DI,B - 7 / DI TO C - 28 / DI,B - 15 / DI TO C,B - 27 / DI
 382  HPLOT C + 14 / DI,B - 46 / DI TO C + 12 / DI,B - 37 / DI TO C + 20 / 
     DI,B - 32 / DI TO C + 30 / DI,B - 32 / DI TO C + 22 / DI,B - 24 / DI
      TO C + 40 / DI,B - 17 / DI TO C + 40 / DI,B - 7 / DI TO C + 38 / DI
     ,B - 5 / DI TO C + 40 / DI,B - 3 / DI TO C + 40 / DI,B
 383  HPLOT  TO C + 36 / DI,B TO C + 34 / DI,B - 2 / DI TO C + 32 / DI,B TO 
     C + 28 / DI,B TO C + 28 / DI,B - 3 / DI TO C + 30 / DI,B - 5 / DI TO 
     C + 28 / DI,B - 7 / DI TO C + 28 / DI,B - 15 / DI TO C,B - 27 / DI
 384  HPLOT C + 6 / DI,B - 48 / DI TO C + 38 / DI,B - 41 / DI TO C + 40 / 
     DI,B - 42 / DI TO C + 18 / DI,B - 56 / DI TO C + 12 / DI,B - 56 / DI
      TO C + 10 / DI,B - 57 / DI TO C + 8 / DI,B - 56 / DI TO C - 8 / DI,
     B - 56 / DI TO C - 10 / DI,B - 58 / DI TO C + 14 / DI,B - 58 / DI TO 
     C + 16 / DI,B - 59 / DI
 385  HPLOT  TO C + 8 / DI,B - 63 / DI TO C + 6 / DI,B - 63 / DI TO C + 2
      / DI + .5,B - 70 / DI TO C + 2 / DI + .5,B - 63 / DI TO C - 2 / DI + 
     .5,B - 63 / DI TO C - 2 / DI + .5,B - 70 / DI TO C - 6 / DI,B - 63 / 
     DI TO C - 8 / DI,B - 63 / DI TO C - 16 / DI,B - 59 / DI TO C - 14 / 
     DI,B - 58 / DI
 386  HPLOT  TO C - 10 / DI,B - 57 / DI TO C - 12 / DI,B - 56 / DI TO C - 
     18 / DI,B - 56 / DI TO C - 36 / DI,B - 47 / DI TO C - 36 / DI,B - 39
      / DI TO C - 28 / DI,B - 41 / DI TO C - 28 / DI,B - 46 / DI TO C - 2
     0 / DI,B - 50 / DI TO C - 18 / DI,B - 50 / DI TO C - 14 / DI,B - 46 / 
     DI
 387  GOTO 3087
 390  HPLOT C + 6 / DI,B - 60 / DI TO C + 30 / DI,B - 90 / DI TO C + 60 / 
     DI,B - 30 / DI TO C + 60 / DI,B - 10 / DI TO C + 30 / DI,B - 40 / DI
      TO C + 15 / DI,B - 40 / DI
 391  HPLOT C - 6 / DI,B - 60 / DI TO C - 30 / DI,B - 90 / DI TO C - 60 / 
     DI,B - 30 / DI TO C - 60 / DI,B - 10 / DI TO C - 30 / DI,B - 40 / DI
      TO C - 15 / DI,B - 40 / DI
 392  HPLOT C,B - 25 / DI TO C + 6 / DI,B - 25 / DI TO C + 10 / DI,B - 20
      / DI TO C + 12 / DI,B - 10 / DI TO C + 10 / DI,B - 6 / DI TO C + 10
      / DI,B TO C + 14 / DI,B TO C + 15 / DI,B - 5 / DI TO C + 16 / DI,B TO 
     C + 20 / DI,B
 393  HPLOT  TO C + 20 / DI,B - 6 / DI TO C + 18 / DI,B - 10 / DI TO C + 
     18 / DI,B - 20 / DI TO C + 15 / DI,B - 30 / DI TO C + 15 / DI,B - 45
      / DI TO C + 40 / DI,B - 60 / DI TO C + 40 / DI,B - 70 / DI
 394  HPLOT  TO C + 10 / DI,B - 55 / DI TO C + 6 / DI,B - 60 / DI TO C + 
     10 / DI,B - 74 / DI TO C + 6 / DI,B - 80 / DI TO C + 4 / DI + .5,B - 
     80 / DI TO C + 3 / DI + .5,B - 82 / DI TO C + 2 / DI + .5,B - 80 / D
     I TO C,B - 80 / DI
 395  HPLOT C,B - 25 / DI TO C - 6 / DI,B - 25 / DI TO C - 10 / DI,B - 20
      / DI TO C - 12 / DI,B - 10 / DI TO C - 10 / DI,B - 6 / DI TO C - 10
      / DI,B TO C - 14 / DI,B TO C - 15 / DI,B - 5 / DI TO C - 16 / DI,B TO 
     C - 20 / DI,B
 396  HPLOT  TO C - 20 / DI,B - 6 / DI TO C - 18 / DI,B - 10 / DI TO C - 
     18 / DI,B - 20 / DI TO C - 15 / DI,B - 30 / DI TO C - 15 / DI,B - 45
      / DI TO C - 40 / DI,B - 60 / DI TO C - 40 / DI,B - 70 / DI
 397  HPLOT  TO C - 10 / DI,B - 55 / DI TO C - 6 / DI,B - 60 / DI TO C - 
     10 / DI,B - 74 / DI TO C - 6 / DI,B - 80 / DI TO C - 4 / DI + .5,B - 
     80 / DI TO C - 3 / DI + .5,B - 82 / DI TO C - 2 / DI + .5,B - 80 / D
     I TO C,B - 80 / DI
 398  HPLOT C - 6 / DI,B - 25 / DI TO C,B - 6 / DI TO C + 10 / DI,B TO C + 
     4 / DI + .5,B - 8 / DI TO C + 6 / DI,B - 25 / DI: HPLOT C - 40 / DI,
     B - 64 / DI TO C - 40 / DI,B - 90 / DI TO C - 52 / DI,B - 80 / DI TO 
     C - 52 / DI,B - 40 / DI
 399  HPLOT C + 40 / DI,B - 86 / DI TO C + 38 / DI,B - 92 / DI TO C + 42 / 
     DI,B - 92 / DI TO C + 40 / DI,B - 86 / DI TO C + 40 / DI,B - 50 / DI
     
 400  HPLOT C + 4 / DI + .5,B - 70 / DI TO C + 6 / DI,B - 74 / DI: HPLOT 
     C - 4 / DI + .5,B - 70 / DI TO C - 6 / DI,B - 74 / DI: HPLOT C,B - 6
     4 / DI TO C,B - 60 / DI: GOTO 490
 490  IF EN = 1 THEN EN = 0: RETURN 
 491 DIS = DIS + 1: GOTO 202
 500 ZZ =  RND ( -  ABS (LN) - TX * 10 - TY * 1000 + INOUT * 31.4)
 501  FOR X = 1 TO 9: FOR Y = 1 TO 9:DNG%(X,Y) = 0: NEXT : NEXT 
 510  FOR X = 0 TO 10:DNG%(X,0) = 1:DNG%(X,10) = 1:DNG%(0,X) = 1:DNG%(10,
     X) = 1: NEXT 
 520  FOR X = 2 TO 8 STEP 2: FOR Y = 1 TO 9:DNG%(X,Y) = 1:DNG(Y,X) = 1: NEXT 
     : NEXT 
 530  FOR X = 2 TO 8 STEP 2: FOR Y = 1 TO 9 STEP 2
 540  IF  RND (1) > .95 THEN DNG%(X,Y) = 2
 541  IF  RND (1) > .95 THEN DNG%(Y,X) = 2
 542  IF  RND (1) > .6 THEN DNG%(Y,X) = 3
 543  IF  RND (1) > .6 THEN DNG%(X,Y) = 3
 544  IF  RND (1) > .6 THEN DNG%(X,Y) = 4
 545  IF  RND (1) > .6 THEN DNG%(Y,X) = 4
 546  IF  RND (1) > .97 THEN DNG%(Y,X) = 9
 547  IF  RND (1) > .97 THEN DNG%(X,Y) = 9
 548  IF  RND (1) > .94 THEN DNG%(X,Y) = 5
 549  IF  RND (1) > .94 THEN DNG%(Y,X) = 5
 568  NEXT : NEXT 
 569 DNG%(2,1) = 0: IF INOUT / 2 =  INT (INOUT / 2) THEN DNG%(7,3) = 7:DN
     G%(3,7) = 8
 570  IF INOUT / 2 <  >  INT (INOUT / 2) THEN DNG%(7,3) = 8:DNG%(3,7) = 7
     
 580  IF INOUT = 1 THEN DNG%(1,1) = 8:DNG%(7,3) = 0
 585  GOSUB 2000
 590  RETURN 
 1000  VTAB (24): PRINT "COMMAND? ";: CALL  - 868
 1001 X =  PEEK ( - 16384): IF X < 128 THEN 1001
 1002 Q =  FRE (0)
 1010  POKE  - 16368,0
 1030  IF X = 141 THEN  ON  SGN (INOUT) + 1 GOTO 1100,1150
 1040  IF X = 149 THEN  ON  SGN (INOUT) + 1 GOTO 1200,1250
 1050  IF X = 136 THEN  ON  SGN (INOUT) + 1 GOTO 1300,1350
 1060  IF X = 175 THEN  ON  SGN (INOUT) + 1 GOTO 1400,1450
 1070  IF X = 216 THEN  ON  SGN (INOUT) + 1 GOTO 1500,1550
 1080  IF X = 193 OR X = 155 THEN  ON  SGN (INOUT) + 1 GOTO 1600,1650
 1081  IF X = 160 THEN  PRINT "PASS": GOTO 1090
 1085  IF X = 211 THEN 1700
 1086  IF X = 208 THEN  IF PA = 1 THEN PA = 0: PRINT "PAUSE OFF": GOTO 10
     00
 1087  IF X = 208 THEN  IF PA = 0 THEN PA = 1: PRINT "PAUSE ON": GOTO 100
     0
 1089  PRINT "HUH?": GOTO 1000
 1090 PW(0) = PW(0) - 1 +  SGN (INOUT) * .9: IF PW(0) < 0 THEN C(0) = 0: PRINT 
     : PRINT "YOU HAVE STARVED!!!!!": GOTO 1093
 1091  POKE 33,40: VTAB (22): HTAB (30): PRINT "FOOD=";PW(0);: CALL  - 86
     8: VTAB (23): HTAB (30): PRINT "H.P.=";C(0);: CALL  - 868: VTAB (24)
     : HTAB (30): PRINT "GOLD=";C(5);: CALL  - 868: POKE 33,29: HTAB (1)
 1092 PW(0) =  INT (PW(0) * 10) / 10
 1093  IF C(0) <  = 0 THEN 6000
 1095  IF IN > 0 THEN  GOSUB 4000: IF C(0) <  = 0 THEN 1093
 1096  POKE 33,40: VTAB (22): HTAB (30): PRINT "FOOD=";PW(0);: CALL  - 86
     8: VTAB (23): HTAB (30): PRINT "H.P.=";C(0);: CALL  - 868: VTAB (24)
     : HTAB (30): PRINT "GOLD=";C(5);: CALL  - 868: POKE 33,29: HTAB (1)
 1097  IF INOUT = 0 THEN  GOSUB 100: GOTO 1000
 1098  IF INOUT > 0 THEN  GOSUB 200: GOTO 1000
 1100  PRINT "NORTH": IF TER%(TX,TY - 1) = 1 THEN  PRINT "YOU CAN'T PASS 
     THE MOUNTAINS": GOTO 1090
 1110 TY = TY - 1: GOTO 1090
 1150  IF DNG%(PX + DX,PY + DY) <  > 1 AND DNG%(PX + DX,PY + DY) < 10 THEN 
     PX = PX + DX:PY = PY + DY
 1155  PRINT "FORWARD"
 1160  IF DNG%(PX,PY) = 2 THEN  PRINT "AAARRRGGGHHH!!! A TRAP!":C(0)= C(
     0) -  INT ( RND (1) * INOUT + 3):MR = 1:INOUT = INOUT + 1: PRINT "FA
     LLING TO LEVEL ";IN: GOSUB 500: GOTO 1090
 1165 Z = 0
 1170  IF DNG%(PX,PY) = 5 THEN DNG%(PX,PY) = 0: PRINT "GOLD!!!!!":Z =  INT 
     ( RND (1) * 5 * INOUT + INOUT): PRINT Z;"-PIECES OF EIGHT":C(5) = C(
     5) + Z
 1175  IF Z > 0 THEN Z =  INT ( RND (1) * 6): PRINT "AND A ";W$(Z):PW(Z) = 
     PW(Z) + 1: GOTO 1090
 1190  GOTO 1090
 1200  PRINT "EAST": IF TER%(TX + 1,TY) = 1 THEN  PRINT "YOU CAN'T PASS T
     HE MOUNTAINS": GOTO 1090
 1210 TX = TX + 1: GOTO 1090
 1250  PRINT "TURN RIGHT"
 1255  IF DX <  > 0 THEN DY = DX:DX = 0: GOTO 1090
 1260 DX =  - DY:DY = 0: GOTO 1090
 1300  PRINT "WEST": IF TER%(TX - 1,TY) = 1 THEN  PRINT "YOU CAN'T PASS T
     HE MOUNTAINS": GOTO 1090
 1310 TX = TX - 1: GOTO 1090
 1350  PRINT "TURN LEFT"
 1355  IF DX <  > 0 THEN DY =  - DX:DX = 0: GOTO 1090
 1360 DX = DY:DY = 0: GOTO 1090
 1400  PRINT "SOUTH": IF TER%(TX,TY + 1) = 1 THEN  PRINT "YOU CAN'T PASS 
     THE MOUNTAINS": GOTO 1090
 1410 TY = TY + 1: GOTO 1090
 1450  PRINT "TURN AROUND":DX =  - DX:DY =  - DY: GOTO 1090
 1500  IF TE%(TX,TY) = 3 THEN  GOSUB 60080: GOSUB 60200: GOTO 1090
 1510  IF TE%(TX,TY) = 4 AND INOUT = 0 THEN  PRINT "GO DUNGEON": PRINT "P
     LEASE WAIT ":INOUT = 1: GOSUB 500:DX = 1:DY = 0:PX = 1:PY = 1: GOTO 
     1090
 1515  IF TE%(TX,TY) = 5 THEN 7000
 1520  PRINT "HUH?": GOTO 1000
 1550  IF DNG%(PX,PY) <  > 7 AND DNG%(PX,PY) <  > 9 THEN 1580
 1555  PRINT "GO DOWN TO LEVEL ";INOUT + 1
 1560 INOUT = INOUT + 1: GOSUB 500:MR = 1: GOTO 1090
 1580  IF DNG%(PX,PY) <  > 8 THEN  PRINT "HUH?": GOTO 1090
 1581  IF IN = 1 THEN  PRINT "LEAVE DUNGEON":IN = 0: GOTO 1586
 1584  PRINT "GO UP TO LEVEL ";INOUT - 1
 1585 INOUT = INOUT - 1: GOSUB 500:MR = 1
 1586  IF IN = 0 THEN  PRINT "THOU HAST GAINED": PRINT LK;" HIT POINTS":C
     (0) = C(0) + LK:LK = 0
 1587  GOTO 1090
 1600  GOTO 1090
 1650 MN = 0:DAM = 0: PRINT "ATTACK": PRINT "WHICH WEAPON ";: GET Q$
 1651  IF Q$ = "R" THEN DAM = 10: PRINT "RAPIER": IF PW(1) < 1 THEN  PRINT 
     "NOT OWNED": GOTO 1650
 1652  IF Q$ = "A" THEN DAM = 5: PRINT "AXE": IF PW(2) < 1 THEN  PRINT "N
     OT OWNED": GOTO 1650
 1653  IF Q$ = "S" THEN DAM = 1: PRINT "SHIELD": IF PW(3) < 1 THEN  PRINT 
     "NOT OWNED": GOTO 1650
 1654  IF Q$ = "B" THEN DAM = 4: PRINT "BOW": IF PW(4) < 1 THEN  PRINT "N
     OT OWNED": GOTO 1650
 1655  IF Q$ = "M" THEN  PRINT "MAGIC AMULET": GOTO 1680
 1656  IF Q$ = "B" AND PT$ = "M" THEN  PRINT "MAGES CAN'T USE BOWS!": GOTO 
     1650
 1657  IF Q$ = "R" AND PT$ = "M" THEN  PRINT "MAGES CAN'T USE RAPIERS!": GOTO 
     1650
 1659  IF DAM = 0 THEN  PRINT "HANDS"
 1660  IF DAM = 5 OR DAM = 4 THEN 1670
 1661 MN = DN%(PX + DX,PY + DY) / 10:MN =  INT (MN)
 1662  IF MN < 1 OR C(2) -  RND (1) * 25 < MN + INOUT THEN  PRINT "YOU MI
     SSED": GOTO 1668
 1663  PRINT "HIT!!! ":DAM  ( RND (1) * DAM + C(1) / 5):MZ%(MN,1) = MZ%(
     MN,1) - DAM
 1664  PRINT M$(MN);"'S HIT POINTS=";MZ%(MN,1)
 1665  IF MZ%(MN,1) < 1 THEN  PRINT "THOU HAST KILLED A ";M$(MN): PRINT "
     THOU SHALT RECEIVE":DA =  INT (MN + IN): PRINT DA;" PIECES OF EIGHT"
     
 1666  IF MZ%(MN,1) < 1 THEN C(5) =  INT (C(5) + DA):DNG%(ML%(MN,0),ML%(M
     N,1)) = DNG%(ML%(MN,0),ML%(MN,1)) - 10 * MN:MZ%(MN,0) = 0
 1667 LK = LK +  INT (MN * IN / 2): IF MN = TASK THEN TASK =  - TASK
 1668  IF PA = 1 THEN  PRINT "-CR- TO CONT. ";: INPUT Q$
 1669  GOTO 1090
 1670  IF DAM = 5 THEN  PRINT "TO THROW OR SWING:";: GET Q$: IF Q$ <  > "
     T" THEN  PRINT "SWING": GOTO 1661
 1671  IF DAM = 5 THEN  PRINT "THROW":PW(2) = PW(2) - 1
 1672  FOR Y = 1 TO 5: IF PX + DX * Y < 1 OR PX + DX * Y > 9 OR PY + DY * 
     Y > 9 OR PY + DY * Y < 0 THEN 1662
 1673 MN = DNG%(PX + DX * Y,PY + DY * Y):MN =  INT (MN / 10): IF MN > 0 THEN 
     1662
 1674  NEXT : GOTO 1662
 1680  IF PW(5) < 1 THEN  PRINT "NONE OWNED": GOTO 1650
 1681  IF PT$ = "F" THEN Q =  INT ( RND (1) * 4 + 1): GOTO 1685
 1682  PRINT "1-LADDER-UP","2-LADDER-DN": PRINT "3-KILL","4-BAD??": PRINT 
     "CHOICE ";: GET Q$:Q =  VAL (Q$): PRINT Q: IF Q < 1 OR Q > 4 THEN 16
     82
 1683  IF  RND (1) > .75 THEN  PRINT "LAST CHARGE ON THIS AMULET!":PW(5) = 
     PW(5) - 1
 1685  ON Q GOTO 1686,1690,1691,1692
 1686  PRINT "LADDER UP":DNG%(PX,PY) = 8: GOTO 1090
 1690  PRINT "LADDER DOWN":DNG%(PX,PY) = 7: GOTO 1090
 1691  PRINT "MAGIC ATTACK":DAM = 10 + INOUT: GOTO 1672
 1692  ON  INT ( RND (1) * 3 + 1) GOTO 1693,1695,1697
 1693  PRINT "YOU HAVE BEEN TURNED": PRINT "INTO A TOAD!"
 1694  FOR Z2 = 1 TO 4:C(Z2) = 3: NEXT Z2: GOTO 1090
 1695  PRINT "YOU HAVE BEEN TURNED": PRINT "INTO A LIZARD MAN": FOR Y = 0
      TO 4:C(Y) =  INT (C(Y) * 2.5): NEXT : GOTO 1090
 1697  PRINT "BACKFIRE":C(0) = C(0) / 2: GOTO 1090
 1700  GOSUB 60080: HOME : PRINT "PRESS -CR- TO CONTINUE";: INPUT Q$: TEXT 
     : HOME : GOTO 1090
 2000 NM = 0: FOR X = 1 TO 10
 2005 MZ%(X,0) = 0:MZ%(X,1) = X + 3 + INOUT
 2010  IF X - 2 > INO OR  RND (1) > .4 THEN 2090
 2020 ML%(X,0) =  INT ( RND (1) * 9 + 1):ML%(X,1) =  INT ( RND (1) * 9 + 
     1)
 2030  IF DNG%(ML%(X,0),ML%(X,1)) <  > 0 THEN 2020
 2040  IF ML%(X,0) = PX AND ML%(X,1) = PY THEN 2020
 2050 DNG%(ML%(X,0),ML%(X,1)) = X * 10
 2051 MZ%(X,0) = 1
 2052 NM = NM + 1
 2055 MZ%(X,1) = X * 2 + IN * 2 * LP
 2090  NEXT : RETURN 
 3087  HPLOT C - 28 / DI,B - 41 / DI TO C + 30 / DI,B - 55 / DI: HPLOT C + 
     28 / DI,B - 58 / DI TO C + 22 / DI,B - 56 / DI TO C + 22 / DI,B - 53
      / DI TO C + 28 / DI,B - 52 / DI TO C + 34 / DI,B - 54 / DI: HPLOT C
      + 20 / DI,B - 50 / DI TO C + 26 / DI,B - 47 / DI
 3088  HPLOT C + 10 / DI,B - 58 / DI TO C + 10 / DI,B - 61 / DI TO C + 4 / 
     DI,B - 58 / DI: HPLOT C - 10 / DI,B - 58 / DI TO C - 10 / DI,B - 61 / 
     DI TO C - 4 / DI,B - 58 / DI: HPLOT C + 40 / DI,B - 9 / DI TO C + 50
      / DI,B - 12 / DI TO C + 40 / DI,B - 7 / DI
 3089  HPLOT C - 8 / DI,B - 25 / DI TO C + 6 / DI,B - 7 / DI TO C + 28 / 
     DI,B - 7 / DI TO C + 28 / DI,B - 9 / DI TO C + 20 / DI,B - 9 / DI TO 
     C + 6 / DI,B - 25 / DI: GOTO 490
 4000  FOR MM = 1 TO 10: IF MZ%(MM,0) = 0 THEN 4999
 4010 RA =  SQR ((PX - ML%(MM,0)) ^ 2 + (PY - ML%(MM,1)) ^ 2)
 4011  IF MZ%(MM,1) < IN * LP THEN 4030
 4020  IF RA < 1.3 THEN 4500
 4025  IF MM = 8 AND RA < 3 THEN 4999
 4030 X1 =  SGN (PX - ML%(MM,0)):Y1 =  SGN (PY - ML%(MM,1))
 4031  IF MZ%(MM,1) < IN * LP THEN X1 =  - X1:Y1 =  - Y1
 4035  IF Y1 = 0 THEN 4045
 4040 D = DNG%(ML%(MM,0),(ML%(MM,1) + Y1 + .5)): IF D = 1 OR D > 9 OR D = 
     2 THEN 4045
 4042 X1 = 0: GOTO 4050
 4045 Y1 = 0: IF X1 = 0 THEN 4050
 4046 D = DN%((ML%(MM,0) + X1 + .5),ML%(MM,1)): IF D = 1 OR D > 9 OR D = 
     2 THEN X1 = 0: GOTO 4081
 4050 DNG%(ML%(MM,0),ML%(MM,1)) = DNG%(ML%(MM,0),ML%(MM,1)) - 10 * MM
 4055  IF ML%(MM,0) + X1 = PX AND ML%(MM,1) + Y1 = PY THEN 4999
 4060 ML%(MM,0) = ML%(MM,0) + X1:ML%(MM,1) = ML%(MM,1) + Y1
 4080 DNG%(ML%(MM,0),ML%(MM,1)) = (DNG%(ML%(MM,0),ML%(MM,1)) + 10 * MM + 
     .5)
 4081  IF X1 <  > 0 OR Y1 <  > 0 THEN 4999
 4082  IF MZ%(MM,1) < IN * LP AND RA < 1.3 THEN 4500
 4083  IF MZ%(MM,1) < IN * LP THEN MZ%(MM,1) = MZ%(MM,1) + MM + IN
 4499  GOTO 4999
 4500  IF MM = 2 OR MM = 7 THEN 4600
 4509  PRINT "YOU ARE BEING ATTACKED": PRINT "BY A ";M$(MM)
 4510  IF  RND (1) * 20 -  SGN (PW(3)) - C(3) + MM + IN < 0 THEN  PRINT "
     MISSED": GOTO 4525
 4520  PRINT "HIT":C(0) = C(0) -  INT ( RND (1) * MM + IN)
 4525  IF PA = 1 THEN  PRINT "-CR- TO CONT. ";: INPUT Q$
 4530  GOTO 4999
 4600  IF  RND (1) < .5 THEN 4509
 4610  IF MM = 7 THEN PW(0) =  INT (PW(0) / 2): PRINT "A GREMLIN STOLE SO
     ME FOOD": GOTO 4525
 4620 ZZ =  INT ( RND (1) * 6): IF PW(ZZ) < 1 THEN 4620
 4630  PRINT "A THIEF STOLE A ";W$(ZZ):PW(ZZ) = PW(ZZ) - 1: GOTO 4525
 4999  NEXT : RETURN 
 6000  POKE 33,40: PRINT : PRINT : PRINT "        WE MOURN THE PASSING OF
     "
 6005  IF  LEN (PN$) > 22 THEN PN$ = ""
 6010  IF PN$ = "" THEN PN$ = "THE PEASANT"
 6020 PN$ = PN$ + " AND HIS COMPUTER"
 6030  HTAB (20 -  INT ( LEN (PN$) / 2)): PRINT PN$
 6035  PRINT "  TO INVOKE A MIRACLE OF RESSURECTION"
 6040  PRINT "             <HIT ESC KEY>";
 6050  IF  PEEK ( - 16384) = 155 THEN 1
 6060  GOTO 6050
 7000  HOME : TEXT : HOME 
 7001  CALL 62450
 7010  IF PN$ <  > "" THEN 7500
 7020  PRINT : PRINT : PRINT "     WELCOME PEASANT INTO THE HALLS OF": PRINT 
     "THE MIGHTY LORD BRITISH. HEREIN THOU MAYCHOOSE TO DARE BATTLE WITH 
     THE EVIL": PRINT "CREATURES OF THE DEPTHS, FOR GREAT": PRINT "REWARD
     !"
 7030  PRINT : PRINT "WHAT IS THY NAME PEASANT ";: INPUT PN$
 7040  PRINT "DOEST THOU WISH FOR GRAND ADVENTURE ? ";: GET Q$: IF Q$ <  > 
     "Y" THEN  PRINT : PRINT "THEN LEAVE AND BEGONE!":PN$ = "": PRINT : PRINT 
     "         PRESS -SPACE- TO CONT.";: GET Q$: GOTO 1090
 7045  PRINT 
 7050  PRINT : PRINT "GOOD! THOU SHALT TRY TO BECOME A ": PRINT "KNIGHT!!
     !": PRINT : PRINT "THY FIRST TASK IS TO GO INTO THE": PRINT "DUNGEON
     S AND TO RETURN ONLY AFTER": PRINT "KILLING A(N) ";:TASK =  INT (C(4
     ) / 3): PRINT M$(TASK)
 7060  PRINT : PRINT "     GO NOW UPON THIS QUEST, AND MAY": PRINT "LADY 
     LUCK BE FAIR UNTO YOU.....": PRINT ".....ALSO I, BRITISH, HAVE INCRE
     ASED": PRINT "EACH OF THY ATTRIBUTES BY ONE!"
 7070  PRINT : PRINT "         PRESS -SPACE- TO CONT.";: GET Q$: FOR X = 
     0 TO 5:C(X) = C(X) + 1: NEXT : HOME : GOTO 1090
 7500  IF TASK > 0 THEN  PRINT : PRINT : PRINT PN$;" WHY HAST THOU RETURN
     ED?": PRINT "THOU MUST KILL A(N) ";M$(TASK): PRINT "GO NOW AND COMPL
     ETE THY QUEST!": PRINT : PRINT "         PRESS -SPACE- TO CONT.";: GET 
     Q$: HOME : GOTO 1090
 7510  PRINT : PRINT : PRINT : PRINT "AAHH!!.....";PN$: PRINT : PRINT "TH
     OU HAST ACOMPLISHED THY QUEST!": IF  ABS (TASK) = 10 THEN 7900
 7520  PRINT "UNFORTUNATELY, THIS IS NOT ENOUGH TO": PRINT "BECOME A KNIG
     HT.":TASK =  ABS (TASK) + 1: PRINT : PRINT "NOW THOU MUST KILL A(N) 
     ";M$(TASK)
 7530  GOTO 7060
 7900  TEXT : HOME : PRINT : PRINT : PRINT :PN$ = "LORD " + PN$: PRINT " 
         ";PN$;","
 7910  PRINT "       THOU HAST PROVED THYSELF WORTHY": PRINT "OF KNIGHTHO
     OD, CONTINUE PLAY IF THOU": PRINT "DOTH WISH, BUT THOU HAST ACOMPLIS
     HED": PRINT "THE MAIN OBJECTIVE OF THIS GAME..."
 7920  IF LP = 10 THEN 7950
 7930  PRINT : PRINT "   NOW MAYBE THOU ART FOOLHEARTY": PRINT "ENOUGH TO
      TRY DIFFICULTY LEVEL ";LP + 1
 7940  GOTO 7070
 7950  PRINT : PRINT "...CALL CALIFORNIA PACIFIC COMPUTER": PRINT "AT (41
     5)-569-9126 TO REPORT THIS": PRINT "AMAZING FEAT!"
 7990  GOTO 7070
 60000  TEXT : HOME : VTAB (5): INPUT "TYPE THY LUCKY NUMBER.....";Q$:LN = 
      VAL (Q$)
 60005  VTAB (7): INPUT "LEVEL OF PLAY (1-10)......";Q$:LP =  INT ( VAL (
     Q$))
 60006  IF LP < 1 OR LP > 10 THEN 60005
 60010 ZZ =  RND ( -  ABS (LN))
 60020  DATA   "HIT POINTS.....","STRENGTH.......","DEXTERITY......","STA
     MINA........","WISDOM.........","GOLD..........."
 60025  DIM PW(5)
 60030  DIM C$(5): FOR X = 0 TO 5: READ C$(X): NEXT 
 60040  DIM C(5)
 60041  DIM M$(10),ML%(10,1),MZ%(10,1)
 60042  DATA       "SKELETON","THIEF","GIANT RAT","ORC","VIPER","CARRION 
     CRAWLER","GREMLIN","MIMIC","DAEMON","BALROG"
 60043  FOR X = 1 TO 10: READ M$(X): NEXT 
 60050  FOR X = 0 TO 5:C(X) =  INT ( SQR ( RND (1)) * 21 + 4): NEXT X
 60060  HOME : VTAB (8): FOR X = 0 TO 5: PRINT C$(X),C(X): NEXT : PRINT :
      PRINT "SHALT THOU PLAY WITH THESE QUALITIES?": HTAB (20): GET Q$: IF 
     Q$ <  > "Y" THEN 60050
 60061  VTAB (15): PRINT : PRINT "AND SHALT THOU BE A FIGHTER OR A MAGE?"
     : HTAB (20): GET PT$
 60062  IF PT$ = "M" OR PT$ = "F" THEN 60070
 60063  GOTO 60061
 60070  DIM W$(5): DATA    "FOOD","RAPIER","AXE","SHIELD","BOW AND ARROWS
     ","MAGIC AMULET": FOR X = 0 TO 5: READ W$(X): NEXT 
 60075  GOSUB 60080: GOSUB 60200: RETURN 
 60080  TEXT : HOME : PRINT : PRINT : PRINT "     STAT'S              WEA
     PONS": PRINT : FOR X = 0 TO 5: PRINT C$(X);C(X); TAB( 24);"0-";W$(X)
     : NEXT : POKE 34,12: HOME : POKE 35,15
 60081  VTAB (11): HTAB (18): PRINT "Q-QUIT"
 60082  IF PW(0) > 0 THEN  CALL 62450
 60085  FOR Z = 0 TO 5: VTAB (5 + Z): HTAB (25 -  LEN ( STR$ (PW(Z)))): PRINT 
     PW(Z);: NEXT 
 60090  VTAB (17): HTAB (5): PRINT "PRICE";: HTAB (15): PRINT "DAMAGE";: HTAB 
     (25): PRINT "ITEM"
 60100  FOR X = 0 TO 5: VTAB (19 + X): HTAB (25): PRINT W$(X): NEXT 
 60110  VTAB (19): HTAB (5): PRINT "1 FOR 10": HTAB (15): PRINT "N/A": VTAB 
     (20): HTAB (5): PRINT "8": HTAB (15): PRINT "1-10": VTAB (21): HTAB 
     (5): PRINT "5": HTAB (15): PRINT "1-5"
 60120  VTAB (22): HTAB (5): PRINT "6": HTAB (15): PRINT "1": VTAB (23): HTAB 
     (5): PRINT "3": HTAB (15): PRINT "1-4": VTAB (24): HTAB (5): PRINT "
     15": HTAB (15): PRINT "?????": HOME 
 60130  RETURN 
 60200  HOME : PRINT "WELCOME TO THE ADVENTURE SHOP"
 60210  PRINT "WHICH ITEM SHALT THOU BUY ";: GET Q$: IF Q$ = "Q" THEN  PRINT 
     : PRINT "BYE": FOR Z = 1 TO 1000: NEXT : TEXT : HOME : RETURN 
 60215 Z =  - 1
 60220  IF Q$ = "F" THEN  PRINT "FOOD":Z = 0:P = 1
 60221  IF Q$ = "R" THEN  PRINT "RAPIER":Z = 1:P = 8
 60222  IF Q$ = "A" THEN  PRINT "AXE":Z = 2:P = 5
 60223  IF Q$ = "S" THEN  PRINT "SHIELD":Z = 3:P = 6
 60224  IF Q$ = "B" THEN  PRINT "BOW":Z = 4:P = 3
 60225  IF Q$ = "M" THEN  PRINT "AMULET":Z = 5:P = 15
 60226  IF Z =  - 1 THEN  PRINT Q$: PRINT "I'M SORRY WE DON'T HAVE THAT."
     : GOTO 60210
 60227  IF Q$ = "R" AND PT$ = "M" THEN  PRINT "I'M SORRY MAGES": PRINT "C
     AN'T USE THAT!": GOTO 60210
 60228  IF Q$ = "B" AND PT$ = "M" THEN  PRINT "I'M SORRY MAGES": PRINT "C
     AN'T USE THAT!": GOTO 60210
 60230  IF C(5) - P < 0 THEN  PRINT "M'LORD THOU CAN NOT AFFORD THAT ITEM
     .": GOTO 60210
 60235  IF Z = 0 THEN PW(Z) = PW(Z) + 9
 60236 PW(Z) = PW(Z) + 1:C(5) = C(5) - P
 60237  VTAB (10): HTAB (16): PRINT C(5);"  "
 60240  VTAB (5 + Z): HTAB (25 -  LEN ( STR$ (PW(Z)))): PRINT PW(Z);: HTAB 
     (1): VTAB (14): PRINT 
 60250  GOTO 60210