ZX81 Program: DL.P


SYSTEM VARIABLES

PROG  : 16509
D-FILE: 23094
VARS  : 23887
E-LINE: 24263
STKBOT: 24263
STKEND: 24263


LEGEND

[A] means INVERSE A
{A} means GRAPHICS A
PRINT means treat as KEYWORD P


PROGRAM LISTING

  10 REM **DRAGONS LAIR SLR/1985
  11 LET H$="COM"
  12 LET H=400
  20 LET M=5
  30 LET S=0
  35 CLS
  40 PRINT ,,,,"DRAGONS LAIR...THE EXCITMENT IS {S}{S}{S}{S}{S}{S}{S}{S}{S}{S}{S}{S}   ABOUT TO BEGIN**"
  50 PRINT ,,,,"WHAT ARE YOUR INITIALS?";
  60 INPUT S$
  70 PRINT S$
  80 PRINT ,,,,"[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]{E}{8}{E}[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]{G}{G}{H}{H}[ ][ ]{E}{1} {E}[ ][ ][ ][ ]{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{G}{G}[ ][ ][ ][ ]{G}{G}{H}{H}{H}{F}[ ][ ]{W}  [ ][ ][ ][ ][ ]{F}{F}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{G}[ ]{H}{H}{H}{H}{H}{F}[ ][ ][ ][ ][ ]{H}[ ][ ][ ][ ][ ][ ][ ]{F}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{F}[ ][ ][ ][ ][ ]{H}{H}[ ][ ][ ][ ][ ][ ][ ][ ]{F}{F}{F}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{G}{G}{H}[ ][ ]{H}{H}{H}[ ][ ][ ]{H}{H}{G}{G}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}{H}"
  90 PRINT ,,,,"[P][R][E][S][S][ ][E][N][T][E][R][ ][T][O][ ][B][E][G][I][N][.][.][.][.][.][.][.][.][.][.][.][.]"
 100 PAUSE 4E4
 110 CLS
 120 FOR A=0 TO 12
 130 PRINT AT A,0;"{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}[ ][ ][ ][ ][ ][ ][ ][ ][ ]{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}"
 140 NEXT A
 150 PRINT AT 5,0;"{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{F}[ ][ ][ ][ ][ ][ ][ ][ ]{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}"
 160 PRINT AT 7,0;"{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{F}[ ][ ][ ][ ][ ][ ][ ][ ]{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}"
 165 PRINT AT 0,0;"SCORE:";S;AT 1,0;"MEN:";M
 170 LET C$="{A}{A}{A}{A}"
 180 LET B$="[ ][ ]{W}{7}{T}"
 190 FOR A=0 TO 9
 200 PRINT AT A,14;"[ ][ ][ ][ ][ ][ ]";AT A+1,14;B$;AT A+2,14;C$
 210 IF INKEY$="Z" THEN GOTO 230
 220 NEXT A
 230 IF A<>3 AND A<>5 THEN GOTO 300
 240 PRINT AT A+1,16;"{6}{7}{R}";AT A,15;"{W}{7}";AT A+1,17;"{T}[ ]"
 250 PRINT AT A,14;"{W}{R}[ ]";AT A+1,16;"{T}[ ]";AT A-1,13;"{W}{R}";AT A,14;"[ ]{T}";AT A+1,16;"[ ]"
 260 PRINT AT A-1,13;"[ ][ ]";AT A,12;"{1}[ ][ ][ ]";AT A+1,13;"{T}";AT A+1,12;"{8}[ ]"
 270 LET S=S+(50 AND A=3)+(100 AND A=5)
 280 PRINT AT A,11;"[ ]";AT A+1,11;"[ ]";AT A,11;"{E}{8}";AT A+1,11;"{E}{T}";AT A,11;"{1}[ ]";AT A+1,11;"{5}[ ]";AT A,11;"{A}";AT A+1,11;"{A}"
 290 GOTO 330
 300 PRINT AT A+1,14;"{T}{Y}{T}{Y}{T}"
 310 LET M=M-1
 320 IF M=0 THEN GOTO 1000
 325 GOTO 100
 330 PRINT AT 0,0;"SCORE:";S;AT 1,0;"MEN:";M
 340 PAUSE 4E4
 350 CLS
 360 FOR A=0 TO 10
 370 PRINT AT A,0;"{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}"
 380 PRINT AT A+1,0;"[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]"
 390 NEXT A
 400 PRINT AT 9,15;"{1}{R}";AT 10,15;"{Y}{R}"
 401 FOR A=1 TO 50
 402 NEXT A
 410 PRINT AT 5,12;"[ ][ ][ ][ ][ ][ ][ ][ ]"
 420 FOR A=6 TO 10
 430 PRINT AT A,11;"{E}{E}";AT A,19;"{R}{R}"
 440 NEXT A
 450 LET L=SIN PI
 460 IF INKEY$="M" THEN GOTO 530
 470 PRINT AT 9,15;"{Y}{Y}";AT 10,15;"{6}{7}"
 480 LET M=M-1
 485 IF M=0 THEN GOTO 1000
 490 PRINT AT 0,0;"SCORE:";S;AT 1,0;"MEN:";M
 500 PAUSE 4E4
 510 CLS
 520 GOTO 680
 530 LET S=S+25
 531 PRINT AT 8,15;"{1}{R}";AT 9,15;"{Y}{R}";AT 10,15;"{A}{A}"
 535 IF INKEY$<>"" THEN GOTO 535
 540 FOR G=1 TO 10
 550 PRINT AT 6,13;"[ ][ ]{E}{Q}[ ][ ]";AT 7,13;"[ ][ ]{W}{R}[ ][ ]"
 560 IF INKEY$="M" THEN GOTO 630
 570 PRINT AT 6,13;"[ ]{E}  {Q}[ ]";AT 7,13;"[ ]{W}  {R}[ ]"
 580 IF INKEY$="M" THEN GOTO 600
 590 NEXT G
 600 PRINT AT 7,15;"{1}{R}";AT 8,15;"{Y}{R}";AT 9,15;"{A}{A}"
 610 PRINT AT 6,13;"[ ][ ]{E}{Q}[ ][ ]";AT 7,13;"[ ][ ]{W}{R}[ ][ ]"
 620 GOTO 480
 630 PRINT AT 7,15;"{1}{R}";AT 8,15;"{Y}{R}";AT 9,15;"{A}{A}"
 640 PRINT AT 6,13;"[ ]{E}  {Q}[ ]";AT 7,13;"[ ][ ]{1}{R}[ ][ ]"
 650 PRINT AT 6,15;"{1}{R}";AT 7,15;"{Y}{R}";AT 8,15;"{A}{A}"
 660 PRINT AT 6,13;"[ ][ ]{E}{Q}[ ][ ]";AT 7,13;"[ ][ ]{W}{R}[ ][ ]"
 665 LET S=S+100
 670 GOTO 490
 680 LET A$="[ ][ ][ ][ ][ ][ ][ ][ ]{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]{A}{A}{A}{A}{A}{A}[ ][ ]{A}{A}{A}{A}{A}{A}[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]{A}{A}{A}{A}[ ][ ][ ][ ]{A}{A}{A}{A}[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]{A}{A}{A}[ ]{1}{R}[ ]{A}{A}{A}[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]{A}{A}{A}{Y}{R}[ ]{A}{A}[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]"
 690 FOR G=1 TO 9 STEP 2
 700 PRINT AT 0,0;A$
 710 IF INKEY$<>"" THEN GOTO 710
 720 PRINT AT 2,11;"{Q}{W}";AT 3,11;"{R}{E}"
 730 IF INKEY$<>"" THEN GOTO 730
 740 PRINT AT 2,11;"{A}{A}";AT 3,11;"{A}{A}";AT 3,12;"{Q}{W}";AT 4,12;"{R}{E}"
 750 IF INKEY$="X" THEN GOTO 790
 760 PRINT AT 3,12;"{A}{Q}{W}";AT 4,12;"{A}{R}{E}"
 770 IF INKEY$="X" THEN GOTO 790
 780 GOTO 950
 790 PRINT AT 0,0;A$
 795 LET S=S+25
 800 IF INKEY$<>"" THEN GOTO 800
 810 PRINT AT 2,19;"{Q}{W}";AT 3,19;"{R}{E}"
 820 IF INKEY$<>"" THEN GOTO 820
 830 PRINT AT 2,19;"{A}{A}";AT 3,19;"{A}{A}";AT 3,18;"{Q}{W}";AT 4,18;"{R}{E}"
 840 IF INKEY$="X" THEN GOTO 870
 850 PRINT AT 3,17;"{Q}{W}{A}";AT 4,17;"{R}{E}{A}"
 860 IF INKEY$<>"X" THEN GOTO 950
 865 LET S=S+25
 870 NEXT G
 880 PRINT AT 0,0;A$
 890 PRINT AT 6,14;"{7}  {7}";AT 7,14;"{6}  {6}"
 895 LET O=0
 900 FOR A=1 TO 10
 910 LET L=SIN PI
 920 IF INKEY$="X" THEN LET O=O+1
 930 NEXT A
 940 IF O=2 THEN GOTO 1080
 950 PRINT AT 3,15;"{T}{T}";AT 4,15;"{6}{7}"
 960 LET M=M-1
 970 IF M=0 THEN GOTO 1000
 980 PRINT AT 0,0;"SCORE:";S;AT 1,0;"MEN:";M
 990 GOTO 1050
1000 CLS
1010 PRINT "DRAGONS LAIR...GAME OVER******  {S}{S}{S}{S}{S}{S}{S}{S}{S}{S}{S}{S}   SCORE:";S
1012 IF S>H THEN LET H$=S$
1014 IF S>H THEN LET H=S
1016 PRINT ,,,,"[H][I][G][H][ ][S][C][O][R][E][.][.][.][.][.][.][.][.][.][.][.][.][.][.][.][.][.][.][.][.][.][.]";H$;"[-][-][-][-]";H
1020 PRINT ,,,,"[Y][O][U][ ][D][I][E][D][,][ ][T][O][O][ ][B][A][D][ ][F][O][R][ ][Y][O][U][.][.][.][T][R][Y][ ][A][G][A][I][N][?][(][P][R][E][S][S][ ][E][N][T][E][R][ ][T][O][ ][B][E][G][I][N][.][.][.][)][ ]"
1030 PAUSE 4E4
1040 GOTO 20
1050 PAUSE 4E4
1060 CLS
1070 GOTO 1110
1080 LET S=S+100
1090 PRINT AT 0,0;A$;AT 1,15;"{A}{A}";AT 2,14;"{A}{A}{A}{A}";AT 3,14;"{A}{1}{R}{A}"
1100 GOTO 980
1110 FOR A=0 TO 10
1120 PRINT AT A,0;"[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]";AT A+1,0;"{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}{A}"
1230 NEXT A
1250 PRINT AT 10,1;"{8}";AT 9,5;"{1}{R}";AT 10,5;"{Y}{R}";AT 9,28;"{1}{R}";AT 10,28;"{1}{R}";AT 3,20;"{E}{7}";AT 4,18;"{7}{7} {4}{2}[ ]{8}";AT 5,17;"{5}{1}{E}{E}[ ] {E}{2}";AT 6,17;"{1}{E}[ ][ ]{T}   ";AT 7,17;"{Q}{8}[ ]{1}  {E}{E}";AT 8,20;"{4}  {8}{8}";AT 9,21;"  {Q}";AT 10,19;"{E}  {2}"
1260 FOR A=1 TO 20
1270 IF INKEY$="Z" THEN GOTO 1310
1280 NEXT A
1290 PRINT AT 10,5;"{H}{H}";AT 9,5;"{G}{H}"
1300 GOTO 1500
1310 FOR A=5 TO 1 STEP -1
1320 PRINT AT 9,A;"{1}{R}[ ]";AT 10,A;"{Y}{R}[ ]"
1330 NEXT A
1335 LET S=S+25
1340 IF INKEY$<>"" THEN GOTO 1340
1350 LET O=0
1360 FOR A=1 TO 10
1370 LET L=SIN PI
1380 IF INKEY$="." THEN LET O=O+1
1390 NEXT A
1400 IF O=2 THEN GOTO 1430
1410 PRINT AT 10,1;"{H}{H}";AT 9,1;"{H}{G}"
1420 GOTO 1500
1430 LET S=S+50
1431 FOR A=0 TO 16
1440 PRINT AT 9,A;"[ ]{5}{7}";AT 10,A;"[ ]{Y}{R}"
1450 IF INKEY$="M" THEN GOTO 1490
1460 NEXT A
1470 PRINT AT 9,A;"[ ]{H}{G}";AT 10,A;"[ ]{H}{H}"
1480 GOTO 1500
1490 GOTO (1470 AND A<15)+(1550 AND A>14)
1500 LET M=M-1
1510 IF M=0 THEN GOTO 1000
1520 PRINT AT 0,0;"SCORE:";S;AT 1,0;"MEN:";M
1530 PAUSE 4E4
1540 GOTO 110
1550 PRINT AT 8,21;"{H}{H}"
1560 LET L=SIN PI+SIN PI+SIN PI
1570 FOR A=1 TO 6
1580 FOR G=10 TO 3 STEP -1
1590 PRINT AT G,17;("{H}{H}{H}{H}{H}{H}{H}{H}" AND A/2<>INT (A/2))+("[ ][ ][ ][ ][ ][ ][ ][ ]" AND A/2=INT (A/2))
1591 PRINT AT 9,15;"{1}{R}";AT 10,15;"{Y}{R}"
1600 NEXT G
1601 NEXT A
1610 FOR A=1 TO 100
1620 NEXT A
1630 LET S=S+200+INT (RND*5+100)
1640 PRINT AT 9,0;"[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]{5}{7}{7}{8}[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]{Y}{R}{E}{2}[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]"
1650 GOTO 1520
1660 CLS
1670 SAVE "D[L]"
1680 PRINT "[P][R][O][G][R][A][M][ ][L][O][A][D][E][D][.][.][.][P][R][E][S][S][ ][E][N][T][E][R][.][.][.][ ]"
1690 PAUSE 4E4
1700 GOTO 20