ZX81 Listing for td.p


ZX81 program listing for **TUNNEL DODGE*SLR/1985

**TUNNEL DODGE*SLR/1985 (td.p)

Quickly avoid the obstacles using Z for left, . for right, X for down, and M for up.


SYSTEM VARIABLES

PROG  : 16509
D-FILE: 19927
VARS  : 20720
E-LINE: 20721
STKBOT: 20721
STKEND: 20721


LEGEND

9999 means line number
PRINT means treat as KEYWORD P


PROGRAM LISTING

  10 REM **TUNNEL DODGE*SLR/1985
  20 LET S=0
  30 LET A$="<=>"
  40 LET X=15
  50 LET Y=2
  60 LET R=INT (RND*8)
  70 FOR A=1 TO 5
  80 PRINT AT 0,0;"!!!!!!!!!!!!!
      !!!!!!!!!!!!!!!!!!!!!!!!!!
      !!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!";AT Y,X;A$
  90 GOSUB 160+(R*40)
  95 PRINT AT Y,X;A$
 100 LET L$=INKEY$
 110 LET Y=(2 AND L$="M")+(3
AND L$="X")+(Y AND (L$<>"M"
AND L$<>"X"))
 120 LET X=X-(L$="Z" AND X>13)+(
L$="." AND X<16)
 130 NEXT A
 140 LET S=S+10
 150 GOTO 60
 160 PRINT AT 0,15;"÷´" AND A=1;
AT 0,15;"  " AND A=2;AT 1,14;"  
  " AND A=3;AT 2,13;"      "
AND A=4
 170 IF A=4 AND Y=2 THEN GOTO 50
0
 180 LET S=S+5
 190 RETURN
 200 PRINT AT 1,15;"÷´" AND A=1;
AT 1,15;"  " AND A=2;AT 2,14;"  
  " AND A=3;AT 3,13;"      "
AND A=4
 210 IF A=4 AND Y=3 THEN GOTO 50
0
 220 LET S=S+5
 230 RETURN
 240 PRINT AT 0,13;"´" AND A=1;
AT 1,13;"µ" AND A=1;AT 0,13;" "
AND A=2;AT 1,13;" " AND A=2;AT
1,13;"  " AND A=3;AT 2,13;"  "
AND A=3;AT 2,13;"   " AND A=4;
AT 3,13;"   " AND A=4
 250 IF A=4 AND X<16 THEN GOTO 5
00
 260 LET S=S+5
 270 RETURN
 280 PRINT AT 0,18;"÷" AND A=1;
AT 1,18;"õ" AND A=1;AT 0,18;" "
AND A=2;AT 1,18;" " AND A=2;AT
1,17;"  " AND A=3;AT 2,17;"  "
AND A=3;AT 2,16;"   " AND A=4;
AT 3,16;"   " AND A=4
 290 IF A=4 AND X>13 THEN GOTO 5
00
 300 LET S=S+5
 310 RETURN
 320 PRINT AT 0,13;"µ" AND A=1;
AT 1,13;"µ" AND A=1;AT 0,13;"  "
AND A=2;AT 1,13;" " AND A=2;AT
1,13;"    " AND A=3;AT 2,13;"  "
AND A=3;AT 2,13;"      " AND A=
4;AT 3,13;"   " AND A=4
 330 IF A=4 AND (Y=2 OR X<16)
THEN GOTO 500
 340 LET S=S+5
 350 RETURN
 360 PRINT AT 0,18;"ó" AND A=1;
AT 1,18;"õ" AND A=1;AT 0,17;"  "
AND A=2;AT 1,18;" " AND A=2;AT
1,15;"    " AND A=3;AT 2,17;"  "
AND A=3;AT 2,13;"      " AND A=
4;AT 3,16;"   " AND A=4
 370 IF A=4 AND (Y=2 OR X>13)
THEN GOTO 500
 380 LET S=S+5
 390 RETURN
 400 PRINT AT 0,13;"´" AND A=1;
AT 1,13;"ò" AND A=1;AT 0,13;" "
AND A=2;AT 1,13;"  " AND A=2;
AT 1,13;"  " AND A=3;AT 2,13;"  
  " AND A=3;AT 2,13;"   " AND A=
4;AT 3,13;"      " AND A=4
 410 IF A=4 AND (Y=3 OR X<16)
THEN GOTO 500
 420 LET S=S+5
 430 RETURN
 450 PRINT AT 0,18;"÷" AND A=1;
AT 1,18;"ñ" AND A=1;AT 0,18;" "
AND A=2;AT 1,17;"  " AND A=2;
AT 1,17;"  " AND A=3;AT 2,15;"  
  " AND A=3;AT 2,16;"   " AND A=
4;AT 3,13;"      " AND A=4
 460 IF A=4 AND (Y=3 OR X>13)
THEN GOTO 500
 470 LET S=S+5
 480 RETURN
 490 REM ******GAME OVER********
 500 PRINT AT 0,0;"!!!!!!!!!!!!!
      !!!!!!!!!!!!!!!!!!!!!!!!!!
      !!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!";AT Y,X;A$
 510 FOR A=1 TO 10
 520 FOR B=1 TO 10
 530 FAST
 540 SLOW
 550 NEXT B
 560 NEXT A
 570 PRINT AT Y,X;"¶ò±";AT 10,0;
"GAME OVER.....SCORE:";S
 580 PRINT AT 16,0;"PRESS ENTER 
TO PLAY AGAIN*******"
 590 PRINT AT Y,X;"ö²ñ"
 600 IF INKEY$<>"" THEN GOTO 640
 610 PRINT AT Y,X;"¶ò±"
 620 IF INKEY$<>"" THEN GOTO 640
 630 GOTO 590
 640 CLS
 650 RUN
 700 SAVE "TD"
 710 RUN