Listing of file='MINCED' on disk='vmedia/best_of_BD_fules.wvd.zip'
# Sector 130, program filename = 'MINCED' 0010 DIM X2$64,I(10),O9$64 : INIT(09)O9$ : E8=1 : PRINT HEX(0306) : GOSUB '22(" INSTRUCTIONS") : GOSUB '22(" FOR THE PLAY OF --** MINCED MEAT **--") : PRINT 0020 GOSUB '22(" Using the corners of the numeric keypad one may move") : GOSUB '22("ones bases toward the respective corners on the screen. Using" ) : GOSUB '22("the other keys the following is accomplished:") 0030 GOSUB '22(" 6 -- FIRES RIGHT BASE LEFT") : GOSUB '22(" 4 -- FIRES LEFT BASE RIGHT") : GOSUB '22(" 8 -- FIRES TOP BASE DOWNWARD") : GOSUB '22(" 2 -- FIRES BOTTOM BASE UPWARD") 0040 GOSUB '22(" The object is to wipe out as many SPACE-SHOES as possible ") : GOSUB '22("using only the allotted amount of missiles: a higher skill") : GOSUB '22("level gives less missiles and vice-versa.") 0050 PRINT : GOSUB '22(" KEYIN TO CONTINUE...") : GOSUB '23(27,0) : PRINT HEX(030A) : E8=1 0060 GOSUB '22(" Once a regiment of SPACE-SHOES is destroyed, a new, harde r") : GOSUB '22("to destroy, regiment materializes until you run out of ammo.") 0070 GOSUB '22(" Periodically, a MOTHER-SHOE, >\81<, that can fire at") : GOSUB '22("your bases and, when you hit it, is a bonus score (depending") : GOSUB '22("on the skill level), will appear, moving left") 0080 GOSUB '22("to right. If you or the MOTHER-SHOE hit a base it is X'ed out. ") : GOSUB '22("A higher skill level will also raise the chance that the") 0090 GOSUB '22("MOTHER-SHOE shoots at you. Every move counts because your scor e") : GOSUB '22("lessens each moment.") : PRINT : E8=1 0100 GOSUB '22("KEYIN YOUR SKILL LEVEL (1 - 5):") 0110 GOSUB '23(32,150) : IF A1$<"1"THEN 110 : IF A1$>"5"THEN 110 : CONVERT A1$TO E9 0120 DIM A$(15)64,E(10),F(10),L1$64,M$64 : E4=62 : A,C=29 : B1,B3=INT((9-E9)^1.5) : B2,B4=2*B1 : B,D=7 : PRINT HEX(0306) : INIT(0A)A0$ 0130 INIT(2D)A$(1),A$(15) : FOR I=2TO 14 : STR(A$(I),1,1),STR(A$(I),64,1)=HEX(86) : NEXT I 0140 STR(A$(1),A,3),H1$=HEX(5C762F) : STR(A$(B),64,1),H2$=HEX(5F) : STR(A$(15),C,3),H3$=HEX(2F5E5C) 0150 STR(A$(D),1,1),H4$=HEX(84) : STR(A0$,16,1),STR(A$(15),64,1)=HEX(01) 0160 D1=0 : READ L1$,R,S3 : IF R=0THEN 660 : L1=LEN(L1$) : FOR Y=1TO R : E(Y)=INT(RND(1)*12)+2 : F(Y)=INT(RND(1)*(60-L1))+2 : PRINT HEX(01);"SCORE =";S : PRINT HEX(01) : MAT PRINT A$ : A4=VAL(STR(L1$,1,1)) : FOR M=INT(A4/2)TO A4 : BIN(M1$)=M : INIT(M1$)STR(M$,1,L1) : PRINT HEX(01);STR(A0$,1,E(Y)); 0170 PRINT STR(O9$,1,F(Y)-1);M$ : PRINT HEX(01) : NEXT M : STR(A$(E(Y)),F(Y),L1)=L1$ : M$=" " 0180 E4=E4+2 : IF E4<60THEN 200 : IF E4=60THEN 810 : IF INT(RND(1)*80/E9)<>1THEN 240 0190 E4=4 : E5=INT(RND(1)*13)+2 0200 STR(A$(E5),E4-2,3)=" " : E6=SGN(INT((RND(1)*50)-25)) : IF E5+E6<2THEN 210 : IF E5+E6>14THEN 210 : E5=E5+E6 0210 STR(A$(E5),E4,3)=">\81<" : IF INT(RND(1)*(60/E9))<>1THEN 240 : GOSUB 710 0220 U8=E5 : PRINT HEX(01);"SCORE =";S : PRINT HEX(01) : MAT PRINT A$ : FOR U7=E4TO LSTEP SGN(L-E4) : U8=U8-((E5-K)/(ABS(L-E4)+1)) : PRINT HEX(01);STR(A0$,1,U8+.5);STR(O9$,1,U7);".";HEX(01) 0230 PRINT HEX(01);STR(A0$,1,U8+.5);STR(O9$,1,U7);" ";HEX(01) : NEXT U7 : FOR I=1TO 1 : GOTO 560 0240 REM **** ENEMY MOVEMENT **** : IF B1+B2+B3+B4=0THEN 650 : NEXT Y 0250 FOR Y=1TO R : IF E(Y)=0THEN 240 0260 STR(A$(E(Y)),F(Y),L1)=" " : E1=SGN(INT(RND(1)*5)-2) : IF E(Y)+E1<2THEN 260 : IF E(Y)+E1>14THEN 260 : E(Y)=E(Y)+E1 0270 F1=SGN(INT(RND(1)*5)-2) : IF F(Y)+2*F1<2THEN 270 : IF F(Y)+F1>63-L1 THEN 270 : F(Y)=F(Y)+2*F1 : FOR Y2=1TO R : IF E(Y2)=0THEN 280 : ON VAL(L1$)-VAL(HEX(7F))GOSUB 790 : STR(A$(E(Y2)),F(Y2),L1)=L1$ 0280 NEXT Y2 0290 IF S<2THEN 300 : S=S-2 0300 STR(A$(15),64,1)=HEX(01) : PRINT HEX(01);"SCORE =";S : PRINT HEX(01) : MAT PRINT A$ 0310 KEYIN A$,310,310 0320 ON VAL(A$)-48GOTO 330,440,350,470,180,500,370,530,390 : GOTO 180 0330 IF B3<1THEN 340 : IF C<5THEN 340 : INIT(2D)STR(A$(15),C,3) : C=C-4 : STR(A$(15),C,3)=H3$ 0340 IF B4<1THEN 180 : IF D>13THEN 180 : STR(A$(D),1,1)=HEX(86) : D=D+1 : STR(A$(D),1,1)=H4$ : GOTO 180 0350 IF B3<1THEN 360 : IF C>58THEN 360 : INIT(2D)STR(A$(15),C,3) : C=C+4 : STR(A$(15),C,3)=H3$ 0360 IF B2<1THEN 180 : IF B>13THEN 180 : STR(A$(B),64,1)=HEX(86) : B=B+1 : STR(A$(B),64,1)=H2$ : GOTO 180 0370 IF B4<1THEN 380 : IF D<3THEN 380 : STR(A$(D),1,1)=HEX(86) : D=D-1 : STR(A$(D),1,1)=H4$ 0380 IF B1<1THEN 180 : IF A<5THEN 180 : INIT(2D)STR(A$(1),A,3) : A=A-4 : STR(A$(1),A,3)=H1$ : GOTO 180 0390 IF B1<1THEN 400 : IF A>58THEN 400 : INIT(2D)STR(A$(1),A,3) : A=A+4 : STR(A$(1),A,3)=H1$ 0400 IF B2<1THEN 180 : IF B<3THEN 180 : STR(A$(B),64,1)=HEX(86) : B=B-1 : STR(A$(B),64,1)=H2$ : GOTO 180 0410 REM 0420 REM *** FIRING *** 0430 REM 0440 IF B3<1THEN 180 : B3=B3-1 : ON B3+1GOSUB 460 : A$=" " : PRINT HEX(01); : MAT PRINT A$ : FOR I=14 TO 1 STEP -1 : PRINT HEX(01);STR(A0$,1,I);STR(O9$,1,C);HEX(86) : IF STR(A$(I),C+1,1)<>" "THEN 450 : PRINT HEX(01);STR(A0$,1,I);STR(O9$,1,C);" " : NEXT I : GOTO 180 0450 K=I : L=C+1 : I=1 : GOTO 560 0460 STR(A$(15),C,3),H3$="XXX" : RETURN 0470 IF B4<1THEN 180 : B4=B4-1 : ON B4+1GOSUB 490 : A$=" " : FOR I=2TO 62STEP 2 : PRINT HEX(01);STR(A0$,1,D);STR(O9$,1,I);HEX(2D84) : IF STR(A$(D),I+2,1)<>" "THEN 480 : PRINT HEX(01);STR(A0$,1,D);STR(O9$,1,I);" " : NEXT I : GOTO 180 0480 K=D : L=I+2 : I=64 : GOTO 560 0490 STR(A$(D),1,1),H4$="X" : RETURN 0500 IF B2<1THEN 180 : B2=B2-1 : ON B2+1GOSUB 520 : A$=" " : FOR I=63TO 3STEP -2 : PRINT HEX(01);STR(A0$,1,B);STR(O9$,1,I-2);HEX(5F2D) : IF STR(A$(B),I-2,1)<>" "THEN 510 : PRINT HEX(01);STR(A0$,1,B);STR(O9$,1,I-2);" " : NEXT I : GOTO 180 0510 K=B : L=I-2 : I=1 : GOTO 560 0520 STR(A$(B),64,1),H2$="X" : RETURN 0530 IF B1<1THEN 180 : B1=B1-1 : ON B1+1GOSUB 540 : A$=" " : FOR I=2TO 15 : PRINT HEX(01);STR(A0$,1,I);STR(O9$,1,A);HEX(86);HEX(01) : IF STR(A$(I),A+1,1)<>" "THEN 550 : PRINT HEX(01);STR(A0$,1,I);STR(O9$,1,A);" ";HEX(01) : NEXT I : GOTO 180 0540 STR(A$(1),A,3),H1$="XXX" : RETURN 0550 K=I : L=A+1 : I=15 0560 NEXT I : ON K-E5+1GOSUB 570 : IF K=1THEN 670 : IF K=15THEN 680 : IF L=1THEN 690 : IF L=64THEN 700 : FOR Y1=1TO R : IF E(Y1)=0THEN 600 : IF E(Y1)=KTHEN 590 : NEXT Y1 : GOTO 180 0570 IF ABS(L-(E4+1))>3THEN 580 : STR(A$(E5),E4,3)=" " : E4=100 : S=S+25*E9 : RETURN CLEAR : GOTO 180 0580 RETURN 0590 IF F(Y1)>LTHEN 600 : IF F(Y1)+L1<LTHEN 600 : STR(A$(E(Y1)),F(Y1),L1)=" " : E(Y1)=0 : S=S+S3 : D1=D1+1 : IF D1=RTHEN 160 : GOTO 180 0600 NEXT Y1 : GOTO 180 0610 DATA "=\83OO\82=",7,20,"\A2*-*\A2",5,25,"'.'",4,30,"\87v\87",3,35,"\80\80 \80\80\80\80",2,40,"THIS HAS BEEN A -- B&D FULES -- PRODUCTION",0,0 0620 IF STR(L1$,20,3)<>HEX(422644)THEN 650 : PRINT HEX(01);"SCORE =";S;HEX(01);STR(A0$,1,7);STR(O9$,1,12);L1$ : PRINT STR(O9$,1,16);"WE HOPE YOU ENJOYED THE PRECEDING." : PRINT 0630 KEYIN A1$,630,630 : RESTORE : INIT(20)A$() : S=0 : GOSUB '22("PLAY AGAIN?") : GOSUB '23(13,100) : IF A1$="N"THEN 640 : GOTO 100 0640 STOP : END 0650 PRINT HEX(01);STR(A0$,1,6);STR(O9$,1,11);"SORRY.... YOU LOST ALL YOUR AMM O. TRY AGAIN!" : RESTORE 16 : READ L1$ : GOTO 620 0660 RESTORE : GOTO 160 0670 IF ABS(L-(A+1))>3THEN 180 : B1=0 : GOSUB 540 : GOTO 180 0680 IF ABS(L-(C+1))>3THEN 180 : B3=0 : GOSUB 460 : GOTO 180 0690 IF K<>DTHEN 180 : B4=0 : GOSUB 490 : GOTO 180 0700 IF K<>BTHEN 180 : B2=0 : GOSUB 520 : GOTO 180 0710 ON INT(RND(1)*4)+1GOTO 720,730,740,750 : RETURN 0720 K=B : L=64 : RETURN 0730 K=D : L=1 : RETURN 0740 K=1 : L=A : RETURN 0750 K=15 : L=C : RETURN 0760 DEFFN'22(X2$) : KEYIN Z2$,100,100 : E8=E8+1 : ON ((E8/2)-INT(E8/2))*2GOTO 780 0770 FOR X3=1TO LEN(X2$) : PRINT STR(X2$,X3,1); : NEXT X3 : PRINT : RETURN 0780 FOR X3=LEN(X2$)TO 1STEP -1 : PRINT TAB(X3-1);STR(X2$,X3,1);HEX(0808);HEX(0C) : NEXT X3 : PRINT : RETURN 0790 I(Y)=I(Y)+1 : IF ABS(I(Y)-11)>2THEN 800 : INIT("-")STR(A$(E(Y)),F(Y),L1) : I(Y)=INT(RND(1)*10)+1 : RETURN CLEAR : GOTO 280 0800 RETURN 0810 STR(A$(E5),E4-2,5)=" " : GOTO 240 0820 DEFFN'23(X2,X3) : KEYIN A1$,830,820 : PRINT STR(O9$,1,X2);HEX(0C8B) : FOR I2=1TO 50 : NEXT I2 : PRINT TAB(X2);HEX(0C20) : FOR I2=1TO 50 : NEXT I2 : GOTO 820 0830 PRINT TAB(X2);HEX(0C);A1$ : FOR I2=1TO X3 : NEXT I2 : RETURN