ZX81 Program: TE.P


SYSTEM VARIABLES

PROG  : 16509
D-FILE: 18928
VARS  : 19721
E-LINE: 19829
STKBOT: 19835
STKEND: 19835


LEGEND

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


PROGRAM LISTING

  10 REM **TARANTULA**SLR/1984**
  20 LET S=0
  30 LET X=13
  40 PRINT AT 0,0;"[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]                  V   V    V"
  50 PRINT AT 5,0;"   {D}      {D}                     [ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]"
  60 LET TR1=3
  70 LET TR2=10
  80 LET DE=1
 110 DIM A$(3,3)
 120 LET A$(1)="{R}"
 130 LET A$(2)="{R}{1}"
 140 LET A$(3)="{5}{5}"
 150 LET SP=5
 160 IF TR1<15 THEN LET TR1=TR1+1
 170 IF TR2<15 THEN LET TR2=TR2+1
 180 IF TR1=15 THEN LET TR1=0
 190 IF TR2=15 THEN LET TR2=0
 200 PRINT AT 8,0;"SCORE:";S;AT 5,0;"                  ";AT 5,TR1;"{D}";AT 5,TR2;"{D}"
 210 FOR A=1 TO 5
 220 LET D=INT (3*RND)
 230 PRINT AT 1,0;"  V   V    V" AND D=0;"    V   V  V" AND D=1;"   V  V    V" AND D=2
 235 PRINT AT 2,0;"                   "
 240 PRINT AT 3,X;A$(1);AT 4,X;A$(2);AT 5,X;A$(3)
 250 LET X=X-(INKEY$="Z")
 260 IF X=-1 THEN GOTO 460
 270 IF INKEY$="." THEN GOSUB 310
 280 IF TR1=X OR TR1=X+1  OR TR2=X OR TR2=X+1 THEN GOTO 620
 290 NEXT A
 300 GOTO 160
 310 LET E=SP-(SP<2)-(SP<3)-(SP<4)-(SP<5)
 320 FOR F=1 TO E
 330 IF TR1<15 THEN LET TR1=TR1+1
 340 IF TR2<15 THEN LET TR2=TR2+1
 350 IF TR1=15 THEN LET TR1=0
 360 IF TR2=15 THEN LET TR2=0
 370 PRINT AT 5,0;"                  ";AT 5,TR1;"{D}";AT 5,TR2;"{D}"
 380 PRINT AT 2,X;A$(1);AT 3,X;A$(2);AT 4,X;A$(3)
 390 IF D=0 AND X=2 OR X=6 OR X=11 THEN GOTO 620
 400 IF D=1 AND X=4 OR X=8 OR X=11 THEN GOTO 620
 410 IF D=2 AND X=3 OR X=6 OR X=11 THEN GOTO 620
 420 NEXT F
 430 IF TR1>=X AND TR1<X+4 THEN LET S=S+10
 440 IF TR2>=X AND TR2<X+4 THEN LET S=S+10
 450 RETURN
 460 LET S=S+100
 470 LET X=0
 480 GOSUB 530
 490 LET X=13
 500 GOSUB 530
 510 LET SP=SP-(SP>2)
 515 IF S>=100 AND S<600 THEN PRINT AT 9,0;"WARRIOR"
 516 IF S>=600 AND S<1000 THEN PRINT AT 9,0;"BLAZER"
 517 IF S>=1000 THEN PRINT AT 9,0;"TARANTULA CRUSHER<><>"
 520 GOTO 160
 530 FOR F=1 TO 5
 535 PRINT AT 2,0;"                   "
 540 PRINT AT 3,X;"{T}  ";AT 4,X;"{Y}{1} ";AT 5,X;"{4}{1} "
 550 PRINT AT 3,X;"{2}  ";AT 4,X;"{8}{1} ";AT 5,X;"{1}{4} "
 560 PRINT AT 3,X;"{1}  ";AT 4,X;"{E}{1} ";AT 5,X;"{5}{4} "
 565 PRINT AT 3,X;"   ";AT 4,X;"   ";AT 5,X;"   "
 570 NEXT F
 575 IF NOT DE THEN RETURN
 580 PRINT AT 10,0;"FORWARD---"
 590 PAUSE 100
 600 PRINT AT 10,0;"          "
 610 RETURN
 620 PRINT AT 8,0;"SCORE:";S
 630 LET DE=0
 640 GOSUB 530
 650 PRINT AT 7,0;"YOU DIED"
 660 STOP