image of READY prompt

Wang2200.org

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