Listing of file='ALIEN' on disk='vmedia/best_of_BD_fules.wvd.zip'
# Sector 470, program filename = 'ALIEN'
0010 DIM C$(9)64,B$(9)64,E6$64,A$(14)64,A$4,O$64
: G1,L=2
: G=0
: P=1
: Q=29
: K0=8
: H5=8
: Z1=INT(RND(1)*38)+1+L
: STR(A$(14),Q,5),E5$="-<2>-"
: INIT(20)A$(),B$(),C$(),E6$
0020 IF S0>0THEN 30
: PRINT HEX(030A0A0A0A0A0A);TAB(15);"THE FOLLOWING IS FROM THE LIBRARY OF"
: B$=" B&D FULES INC."
: ADD(B$,80)
: PRINT TAB(25);B$
0030 FOR I=1TO 10
: STR(B$(1),I*4-2,4)=HEX(1E1E)
: NEXT I
0040 FOR I=1TO 10
: STR(B$(4),I*4-2,4)=HEX(6F6F)
: NEXT I
0050 FOR I=1TO 10
: STR(B$(7),I*4-2,4)=HEX(3C3E)
: NEXT I
0060 FOR K=2TO 8STEP 3
: FOR I=1TO 10
: STR(B$(K),I*4-2,4)=HEX(2F5C)
: NEXT I
: NEXT K
0070 FOR I=1TO 10
: STR(C$(1),I*4-2,4)=HEX(1818)
: NEXT I
0080 FOR I=1TO 10
: STR(C$(4),I*4-2,4)=HEX(1313)
: NEXT I
0090 FOR I=1TO 10
: STR(C$(7),I*4-2,4)=HEX(5B5D)
: NEXT I
0100 PRINT HEX(03);
: FOR K=2TO 8STEP 3
: FOR I=1TO 10
: STR(C$(K),I*4-2,4)=HEX(5C2F2020)
: NEXT I
: NEXT K
: IF S0>0THEN 340
: PRINT HEX(03060A0A);" KEYIN TO BEGIN."
: KEYIN U$,110,340
0110 Z=Z+1
: FOR I=1 TO 20
: NEXT I
: IF Z>20 THEN 130
: PRINT HEX(01);
: IF Z/2=INT(Z/2) THEN 120
: FOR I=1 TO 8
: PRINT TAB(Z);B$(I)
: NEXT I
: GOTO 110
0120 FOR I=1 TO 8
: PRINT TAB(Z);C$(I)
: NEXT I
: PRINT TAB(40);"PREVIOUS SCORE =";D0
: KEYIN A$,170,330
: GOTO 110
0130 FOR I=1 TO 100
: NEXT I
: PRINT HEX(030A0A);TAB(22);"KEYIN TO BEGIN."
: PRINT TAB(25);HEX(18182020181820201818)
: PRINT TAB(25);HEX(2F5C20202F5C20202F5C)
: PRINT
: PRINT
: PRINT
: PRINT TAB(40);"PREVIOUS SCORE =";D0
0140 FOR Y=1TO 3
: PRINT HEX(010A0A0A0A0A0A0A0A0A0A0A0A0A0A);TAB(23+Y*4-2);"-<^>-";HEX(0C0C)
: FOR U=1TO 10
: KEYIN A$,160,160
: PRINT TAB(23+Y*4-1);" "
: PRINT HEX(0C0C);TAB(23+Y*4-1);"^";HEX(0C)
: FOR P=1 TO 20
: NEXT P
: NEXT U
: PRINT HEX(010A0A0A);TAB(25+Y*3);" "
: NEXT Y
: FOR I=1 TO 300
: NEXT I
0150 Z=0
: GOTO 100
0160 U=10
: NEXT U
: Y=3
: NEXT Y
0170 KEYIN A$,170,170
: B$=" ALIEN INVADERS"
: ADD(B$,80)
: PRINT HEX(03);TAB(22);B$
: PRINT TAB(21);"ABSIC INSTRUCTIONS"
: PRINT
: PRINT "OBJECT: DESTROY ALIENS BEFORE THEY TOUCH EARTH OR KILL YOU"
: PRINT
0180 PRINT " ALL YA GOTTA DO IS MOVE YOUR MISSILE LAUNCHER AWAY FROM THE"
0190 PRINT HEX(0C);"ENEMIES BOMBS AND MOVE INTO A POSITION WHERE YOU CAN DESTR
OY THEM. TO LAUNCH A MISSILE PRESS '2', TO MOVE PRESS '1' FOR LEFT AND
'3' FOR RIGHT.";HEX(0C)
0200 PRINT " WHEN THE ALIENS TOUCH GROUND THE GAME IS OVER. YOU CAN SAVEYO
URSELF BY DESTROYING THE BOTTOM ROW FIRST. THE GAME IS SCOREDBY PERCENTA
GE, TO GET A HIGHER SCORE KILL MORE INVADERS."
0210 PRINT
: PRINT TAB(45);"GOOD LUCK,"
: PRINT TAB(50);"B&D FULES INC."
: I=0
: T=0
0220 FOR U=1TO 400
: NEXT U
0230 A$=HEX(1818)
: B$=HEX(2F5C)
: C$=HEX(5C2F)
: IF T>3*19-1THEN 300
: IF T>2*19-1 THEN 280
: IF T>19-1 THEN 260
0240 I=I+1
: IF I>19THEN 250
: PRINT HEX(010A);TAB(I);A$
: PRINT TAB(I);B$
: T=T+1
: IF T/2<>INT(T/2)THEN 230
: B$=C$
: GOTO 240
0250 I=I-1
0260 I=I-1
: IF I<1THEN 270
: PRINT HEX(010A);TAB(I);A$;"AB "
: PRINT TAB(I);B$;" "
: T=T+1
: IF T/2<>INT(T/2)THEN 230
: B$=C$
: GOTO 260
0270 PRINT HEX(010A);" "
: PRINT " "
: FOR U=1TO 200
: NEXT U
0280 I=I+1
: IF I>19THEN 290
: PRINT HEX(010A);TAB(I);A$;"BA"
: PRINT TAB(I);B$
: T=T+1
: IF T/2<>INT(T/2)THEN 230
: B$=C$
: GOTO 280
0290 I=I-1
0300 I=I-1
: IF I<1THEN 310
: PRINT HEX(010A);TAB(I);A$;" "
: PRINT TAB(I);B$;" "
: T=T+1
: IF T/2<>INT(T/2)THEN 230
: B$=C$
: GOTO 300
0310 PRINT HEX(010A);" "
: PRINT " "
0320 KEYIN A$,330,330
: GOTO 320
0330 PRINT HEX(03);
0340 MAT COPY C$()<1,(K0)*64>TO A$()<(G)*64+L,(K0)*64-L>
: GOTO 360
0350 MAT COPY B$()<1,(K0+1)*64>TO A$()<(G)*64+L,(K0+1)*64-L>
0360 KEYIN A$,460,370
0370 IF P0>0 THEN 490
0380 GOSUB 720
: STR(A$(1),1,5)=E5$
: STR(A$(14),Q,5)="-<^>-"
: PRINT HEX(01);" SCORE =";S0;HEX(01);
: MAT PRINT A$
: PRINT HEX(01);" SCORE =";S0;" "
0390 GOSUB 400
: T=T+1
: INIT(20)A$()
: IF T/2=INT(T/2)THEN 340
: GOTO 350
0400 IF L<2 THEN 420
: IF P=1 THEN 410
: L=L-1
: P=2
: V=4
: RETURN
0410 IF L>24 THEN 440
: L=L+1
: P=1
: V=2
: RETURN
0420 G=G+1
: IF G+K0>13THEN 830
0430 P=1
: L=2
: INIT(20)A$()
: RETURN
0440 G=G+1
: IF G+K0>13THEN 850
0450 P=2
: L=24
: INIT(20)A$()
: RETURN
0460 ON VAL(A$)-48 GOTO 470,480,560
: GOTO 370
0470 IF Q<5 THEN 370
: STR(A$(14),Q,5)=" "
: Q=Q-5
: GOTO 370
0480 P0=14
: D7=Q+2
0490 P0=P0-1
: IF P0<1 THEN 380
: IF STR(A$(P0),D7,1)=HEX(20)THEN 500
: GOTO 510
0500 STR(A$(P0+1),D7,1)=" "
: IF P0<1THEN 380
: STR(A$(P0),D7,1)="^"
: GOTO 380
0510 P0=P0-G
: P0=(INT(P0/3+1))+(INT(P0/3))+(INT(P0*.09+.5))+(INT(P0*.17+.5))
: ON P0GOTO 520,520,830,530,530,830,540,540,830
: GOTO 830
0520 S0=S0+40
: GOTO 550
0530 S0=S0+35
: GOTO 550
0540 S0=S0+25
: GOTO 550
0550 FOR I=0TO 1
: STR(B$(P0+I),INT((D7-L)/4)*4+1,4),STR(C$(P0+I),INT((D7-L)/4)*4+1,4)=" "
: NEXT I
: P0=0
: GOTO 770
0560 IF Q>54THEN 370
: STR(A$(14),Q,5)=" "
: Q=Q+5
: STR(A$(14),Q,5)="-<^>-"
: GOTO 370
0570 IF G1>0THEN 790
0580 STR(A$(14),Q,5)="-<^>-"
: IF C1=5THEN 590
: STR(A$(H5),Z1,1)=HEX(21)
0590 KEYIN A$,590,590
: PRINT HEX(03);
: IF E6$<>" "THEN 600
: E6$=" THE INVADERS TOOK OVER THE EARTH."
0600 PRINT HEX(03);
: MAT PRINT A$
: PRINT HEX(01);" SCORE =";S0;" "
: FOR I=1TO 400
: NEXT I
: STR(A$(7),15,37)="THIS HAS BEEN A B&D FULES PRODUCTION."
: ADD(STR(A$(7),14+17,9),80)
: MAT COPY A$()TO -A$()
0610 STR(A$(8),48,2)="HI"
: A$(1)=E6$
: PRINT HEX(03);
: MAT PRINT A$;
: PRINT HEX(01);" SCORE =";S0;" "
: D0=S0
0620 I,T=0
: FOR U=1TO 500
: NEXT U
0630 INIT(80)E6$
: STR(E6$,23,19)="G A M E O V E R !"
0640 A$=HEX(1818)
: B$=HEX(2F5C)
: C$=HEX(5C2F)
0650 I=I+1
: IF I>60THEN 660
: PRINT HEX(010A0A0A0A0A);STR(E6$,1,I);" ";A$;" "
: PRINT TAB(I);" ";B$;" "
: T=T+1
: IF T/2<>INT(T/2)THEN 640
: B$=C$
: GOTO 650
0660 PRINT HEX(0C0C);E6$;HEX(08080820202020);
: I=0
0670 A$=HEX(1818)
: B$=HEX(2F5C)
: C$=HEX(5C2F)
: KEYIN A$,680,700
0680 I=I+1
: IF I>61THEN 690
: PRINT HEX(010A0A0A0A0A0A0A0A);TAB(I);A$;" "
: PRINT TAB(I);B$;" "
: T=T+1
: IF T/2<>INT(T/2)THEN 670
: B$=C$
: GOTO 680
0690 FOR I=1TO 1000
: NEXT I
0700 P0,S0=0
: GOTO 10
0710 STR(A$(P0+1),Q+2,1)=" "
: STR(A$(P0),Q+2,1)="^"
: GOTO 380
0720 IF H5>12THEN 730
: H5=H5+1
: STR(A$(H5-1),Z1,1)=" "
: STR(A$(H5),Z1,1)=HEX(21)
: RETURN
0730 IF K0+G>11THEN 760
: IF C1=5THEN 740
: STR(A$(14),Z1,1)=HEX(21)
: IF Z1<QTHEN 740
: IF Z1>Q+4THEN 740
: RETURN CLEAR
: E6$=" YOU GOT BLOWN TO HELL!!"
: GOTO 570
0740 STR(A$(H5+1),Z1,1)=" "
: IF G+K0>11THEN 760
: C1=0
: H5=G+3*INT(RND(1)*K0/3)+1
0750 Z1=4*(INT(RND(1)*10)+1)+L-2
: IF STR(B$(H5-G),Z1-L,1)=" "THEN 750
: RETURN
0760 C1=5
: RETURN
0770 IF B$(K0)=" "THEN 780
: GOTO 390
0780 K0=K0-1
: IF K0<2THEN 10
: GOTO 770
0790 G1=G1-1
: CONVERT G1 TO STR(E5$,3,1),(#)
: IF G1>0 THEN 800
: E5$="EMPTY"
0800 E6$=" "
: GOSUB 740
: PRINT HEX(0A0A0A0A0A0A0A0A0A0A0A0A0A)
0810 FOR I=1TO 4
: PRINT TAB(Q-I);"-< ";
: FOR C=1TO I*2
: PRINT " ";
: NEXT C
: PRINT ">-";HEX(0D)
: NEXT I
: PRINT HEX(01);
: FOR I=1TO 14
: PRINT HEX(01);
: MAT PRINT A$
: PRINT HEX(0C);TAB(Q-4);"-< BOOM! >-"
: PRINT HEX(01);
: FOR K=1TO I-1
: PRINT
: NEXT K
: PRINT TAB(2);"Y "
: PRINT "-<^>- "
: FOR O=1TO 5
: NEXT O
: NEXT I
0820 PRINT HEX(0C0C);TAB(3);" "
: PRINT
: FOR I=1TO QSTEP 2
: PRINT HEX(0C);TAB(I-2);"Y -<^>-"
: FOR O=1TO 15
: NEXT O
: NEXT I
: GOTO 380
0830 IF B$(K0)=" "THEN 840
: GOTO 580
0840 K0=K0-1
: GOTO 430
0850 IF B$(K0)=" "THEN 860
: GOTO 580
0860 K0=K0-1
: GOTO 450