Listing of file='BAY-PIGS' on disk='vmedia/more_games.wvd.zip'
# Sector 94, program filename = 'BAY-PIGS' 0010 REM *PIGS BAY* : LOAD DC T#6,"GAMES" 0020 DIM A$(11,6),A(10),M(4),N(4) : P,T=0 0030 INIT(20)A$() 0040 V=INT(9*RND(1)+5) 0050 PRINT HEX(03),TAB(12);"************* BAY OF PIGS *************" 0060 PRINT "CONSISTENT WITH THE EXCELLENT PLANNING IN THE" 0070 PRINT "'BAY OF PIGS' OPERATION, YOUR CRAFT '<>' IS TRAPPED" 0080 PRINT "IN THE HEAVILY MINED '";HEX(7F7F);"' BAY WITH TWO CUBAN GUNBOATS" 0090 PRINT "IN HOT PURSUIT.YOU MUST EVADE THE GUNBOATS '()'" 0100 PRINT "UNTIL THE LOCAL C.I.A. AGENT CAN AIRDROP AMMUNITION" 0110 PRINT "(LOTS OF LUCK!)---THEN YOU MAY PURSUE AND DESTROY" 0120 PRINT "THE CUBANS BY MOVE/FIRE INTO THEIR SPACE. BE CARE-" 0130 PRINT "FUL----A CORNERED CANTANKEROUS CUBAN CAN CREATE CHAOS!" 0140 PRINT TAB(45);"4 3 2" 0150 PRINT TAB(47);HEX(5C20207C20202F) 0160 PRINT "TO MOVE/FIRE USE THESE DIRECTIONS:";TAB(43);"5 ----+---- 1" 0170 PRINT TAB(47);HEX(2F20207C20205C) 0180 PRINT TAB(45);"6 7 8" 0190 PRINT HEX(0C);"ENTER FAST(F), SLOW(S), OR END(E)"; : INPUT S$ : IF S$="E"THEN 10 : IF S$="F"THEN 210 : IF S$<>"S"THEN 190 0210 FOR M=1TO 15 0220 LET W=INT(11*RND(1)+1) 0230 LET Z=INT(6*RND(1)+1) 0240 LET A$(W,Z)=HEX(207F7F20) 0250 NEXT M 0260 FOR Q=1TO 3 0270 LET W=INT(11*RND(1)+1) 0280 LET Z=INT(6*RND(1)+1) 0290 IF Q=3 THEN 330 0300 LET M(Q)=W : LET N(Q)=Z 0310 IF A$(M(Q),N(Q))=HEX(207F7F20) THEN 270 0320 IF Q<>3 THEN 360 0330 IF A$(W,Z)=HEX(207F7F20) THEN 270 0340 LET A$(W,Z)=" <> " 0350 GOTO 370 0360 LET A$(M(Q),N(Q))=" () " 0370 NEXT Q 0390 PRINT HEX(01); : FOR I=1TO 7 : IF T=0 THEN 400 : PRINT HEX(0A); : GOTO 500 0400 FOR J=1TO 12 0410 IF J=1 THEN 470 0420 IF J=12 THEN 470 0430 IF I=1 THEN 470 0440 IF I=7 THEN 470 0450 PRINT TAB(5*J);" "; 0460 GOTO 480 0470 PRINT TAB(5*J);"*"; 0480 NEXT J 0490 PRINT 0500 IF I=7 THEN 560 0510 FOR H=1TO 11 0520 PRINT TAB(5*H+1); 0530 PRINT A$(H,I); 0540 NEXT H 0550 PRINT TAB(62) 0560 NEXT I 0570 IF A$(W,Z)=" () " THEN 1110 : IF P=2 THEN 1130 0580 LET C=0 : X=0 : Y=0 : T=T+1 : IF S$="S" THEN 590 : KEYIN STR(G$,1,1),610,610 : GOTO 690 0590 IF V-T<>-1 THEN 600 : PRINT TAB(16);"THE C.I.A. ARRIVED WITH AMMO!!"; 0600 PRINT TAB(64);HEX(0C); : INPUT "MOVE/FIRE",G : IF V-T<0 THEN 610 : PRINT TAB(64);HEX(0C);"THE C.I.A. WILL ARRIVE IN";V-T;" MINUTES." 0610 GOSUB 930 0620 IF C<>1 THEN 630 : PRINT HEX(0C);"THE BAY IS MINED. YOU CAN'T MOVE OUT!";TAB(64);HEX(0C0C); : GOTO 570 0630 IF A$(W+X,Z+Y)=HEX(207F7F20) THEN 1150 0640 IF A$(W+X,Z+Y)<>" () " THEN 660 : IF V-T>0 THEN 650 : LET A$(W+X,Y+Z)=HEX(207F7F20) : P=P+1 : GOTO 690 0650 PRINT HEX(0C);"YOU'RE OUT OF AMMO, REMEMBER!";TAB(64);HEX(0C0C); : GOTO 580 0660 LET A$(W,Z)=" " : LET A$(W+X,Z+Y)=" <> " 0670 LET W=W+X : LET Z=Z+Y 0690 FOR Q=1TO 2 0700 IF A$(M(Q),N(Q))=HEX(207F7F20) THEN 900 0710 FOR N=1TO 8 0720 READ R,S 0730 LET A(N)=SQR((W-(M(Q)+R))^2+(Z-(N(Q)+S))^2) 0740 IF M(Q)+R>11 THEN 790 : IF M(Q)+R<1 THEN 790 : IF N(Q)+S>6 THEN 790 : IF N(Q)+S<1 THEN 790 0750 IF A$(M(Q)+R,N(Q)+S)=HEX(207F7F20) THEN 790 0760 IF A$(M(Q)+R,N(Q)+S)=" () " THEN 790 : IF A$(M(Q)+R,N(Q)+S)<>" <> " THEN 780 : IF V-T>0 THEN 770 : LET A(N)=1.01 : GOTO 800 0770 LET A(N)=.99 0780 GOTO 800 0790 LET A(N)=0 0800 NEXT N 0810 RESTORE 0820 IF V-T<0 THEN 830 : GOSUB 1040 : GOTO 890 0830 LET G=1 0840 FOR F=1TO 8 0850 IF A(F)>A(1) THEN 870 0860 GOTO 880 0870 A(1)=A(F) : LET G=F 0880 NEXT F 0890 RESTORE (2*G-1) : READ R,S : LET A$(M(Q),N(Q))=" " : LET A$(M(Q)+R,N(Q)+S)=" () " : M(Q)=M(Q)+R : N(Q)=N(Q)+S 0900 RESTORE : NEXT Q 0910 GOTO 390 0920 LET C=1 : RETURN 0930 IF S$="S" THEN 940 : CONVERT STR(G$,1,1) TO G 0940 ON G GOTO 960,1030,1020,1010,1000,990,980,970 0950 RETURN 0960 IF W=11 THEN 920 : X=X+1 : RETURN 0970 IF W=11 THEN 920 : IF Z=6 THEN 920 : LET X=X+1 : LET Y=Y+1 : RETURN 0980 IF Z=6 THEN 920 : LET Y=Y+1 : RETURN 0990 IF W=1 THEN 920 : IF Z=6 THEN 920 : X=X-1 : LET Y=Y+1 : RETURN 1000 IF W=1 THEN 920 : LET X=X-1 : RETURN 1010 IF W=1 THEN 920 : IF Z=1 THEN 920 : LET X=X-1 : LET Y=Y-1 : RETURN 1020 IF Z=1 THEN 920 : LET Y=Y-1 : RETURN 1030 IF W=11 THEN 920 : IF Z=1 THEN 920 : LET X=X+1 : LET Y=Y-1 : RETURN 1040 LET G=1 : FOR F=1TO 8 1050 IF A(F)<>0 THEN 1060 : LET A(F)=15 1060 IF A(F)<A(1) THEN 1080 1070 GOTO 1090 1080 A(1)=A(F) : LET G=F 1090 NEXT F : RETURN 1100 DATA 1,0,1,-1,0,-1,-1,-1,-1,0,-1,1,0,1,1,1 1110 PRINT "YOU'VE JUST BEEN SUNK!!FIDEL WILL MAIL YOUR " 1120 PRINT "MOTHER ANY REMAINS IN A CIGAR BOX!!"; : GOTO 1170 1130 PRINT "CONGRATULATIONS!! NOW IF YOU CAN JUST DEPEND" 1140 PRINT "ON THE C.I.A. TO RESCUE YOU......."; : GOTO 1170 1150 PRINT "IDIOT, YOU JUST RAN YOUR SHIP ONTO THE REEF...." 1160 PRINT "IF THE ENEMY DOESN'T GET YOU, THE SHARKS WILL!!"; 1170 PRINT TAB(64);HEX(0C); 1180 FOR I=1TO 1000 : NEXT I : GOTO 20