ZX81 Program: BS.P


SYSTEM VARIABLES

PROG  : 16509
D-FILE: 18232
VARS  : 19025
E-LINE: 19144
STKBOT: 19150
STKEND: 19150


LEGEND

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


PROGRAM LISTING

  10 REM *BLOCK £ SPEAR*SLR/1984
  20 PRINT "{H}{H}{F}{F}{F}[ ][ ]{4}{E}[ ][ ]{F}{F}{F}{H}{H}                [ ][ ][ ][ ][ ][ ][ ]{5}{8}[ ][ ][ ][ ][ ][ ][ ]                [ ][ ]{R}[ ]{7}[ ][ ]{1}{2}[ ][ ]{7}[ ]{E}[ ][ ]                [ ]{E}            {R}[ ]                {E}              {R}"
  30 PRINT AT 8,0;"[ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]                [ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ][ ]"
  40 DIM A$(2,6)
  50 DIM B$(2,3)
  60 DIM C$(2,5)
  70 DIM D$(2,4)
  80 LET A$(2)="  {W}{D}{D}{D}"
  90 LET A$(1)="  {W}{S}{S}{S}"
 100 LET B$(1)=" {2}{Q}"
 110 LET B$(2)=" {E}{Q}"
 120 LET C$(1)="  {5}{E}{6}"
 130 LET C$(2)=" {Q}[ ][ ]{2}"
 140 LET D$(1)="{6}{4}{8}"
 150 LET D$(2)="{1}[ ][ ]{W}"
 160 LET S=0
 170 LET SP=5
 180 LET D=1
 190 LET CD=SP
 200 LET Y=1
 210 FOR X=0 TO 6
 220 LET CD=CD-(CD>0)+(SP AND CD=0)
 230 IF CD=0 THEN LET D=INT (2*RND+1)
 240 PRINT AT 5,X;A$(D);AT 6,X;C$(1);AT 7,X;C$(2);AT 5,11;B$(Y);AT 6,11;D$(1);AT 7,11;D$(2)
 250 IF INKEY$="Z" THEN LET Y=1
 255 IF INKEY$="." THEN LET Y=2
 260 NEXT X
 270 IF Y=D THEN GOTO 300
 280 PRINT AT 4,3;"<YOU DIED>"
 290 GOTO 400
 300 PRINT AT 5,0;"                                                                                "
 310 LET S=S+50
 315 PRINT AT 10,0;"SCORE:";S
 320 LET SP=SP-(SP>1)
 330 IF S>=100 AND S<500 THEN PRINT AT 11,0;"BLOCKADE"
 340 IF S>=500 AND S<1000 THEN PRINT AT 11,0;"DODGER"
 350 IF S>=1000 THEN PRINT AT 11,0;"MASTER DODGER<><>"
 360 PRINT AT 3,4;"FORWARD-"
 370 PAUSE 150
 380 PRINT AT 3,4;"        "
 390 GOTO 180
 400 PRINT AT 5,12;" {Q}"
 410 PRINT AT 5,13;"{E}{5}"
 420 PRINT AT 5,13;" {E}{T}";AT 6,13;" {T}"
 430 PRINT AT 5,14;" {4}";AT 6,14;"{6}{7}"
 440 PRINT AT 5,15;" ";AT 6,14;"{6}{W}"
 450 PRINT AT 6,14;"  "
 460 PRINT AT 10,0;"SCORE:";S
 470 STOP