Listing of file='ICBM' on disk='vmedia/more_games.wvd.zip'
# Sector 686, program filename = 'ICBM' 0010 REM *ICBM* : LOAD DC T#6,"GAMES" 0020 SELECT P 0030 PRINT HEX(030A0A) 0040 PRINT " BALLISTIC MISSILE WAR GAME" 0050 PRINT : PRINT "THE OBJECT OF THE ABM CONTROLLER IS TO DESTROY TEN ENEMY IC BM'S BEFORE THE MISSILE CONTROL ROOM IS DESTROYED, TO DO SO HE HAS 7 AB M'S IN 3 SEPARATE SILOS." 0060 PRINT : PRINT "AN ABM IS LAUNCHED BY PRESSING NUMBER KEY 1,2 OR 3. A SECOND MI SSILE FIRED WHILE ONE IS IN THE AIR WILL ABORT THE FIRST." 0070 PRINT "THE ABM MAY BE GUIDED TO THE LEFT BY KEYING SPECIAL FUNCTION KEY ' 00', AND TO THE RIGHT WITH '01'" 0080 PRINT : INPUT "PRESS 'RETURN' TO COMMENCE GAME",P2 0090 R=3 0100 SELECT P 0110 S$=HEX(0A080808202020202008080C) 0120 U,V,K=7 0130 U$,V$,W$="(7)" : X$="(MCR)" 0140 W=12 : H$="))((" 0150 Z5=INT(RND(2)*10)+30 0160 IF Z4=Z5 THEN 1150 0170 GOSUB 440 0180 GOSUB 270 0190 Z4=Z4+1 : GOTO 160 0200 C$="9" : KEYIN C$,220,210 0210 C=0 : IF C$=HEX(00) THEN 1000 : IF C$=HEX(01) THEN 1010 0220 CONVERT C$ TO C 0230 PRINT HEX(01); 0240 ON F GOSUB 540,640,740 0250 ON C GOSUB 470,570,670 0260 RETURN 0270 A$=">M>" 0280 R=5*RND(R) 0290 IF R<1 THEN 280 0300 I=0 0310 PRINT HEX(01) : I=I+1 : FOR T=1 TO I : PRINT HEX(0A); : NEXT T 0320 IF I>13 THEN 370 0330 Q=I 0340 PRINT TAB(I*R);A$ : GOSUB 420 : PRINT HEX(01) : FOR T=1 TO Q : PRINT HEX(0A) : NEXT T 0350 PRINT TAB(I*R);HEX(202020);Z$ : GOTO 310 0360 I=0 0370 P=INT(I*R) : IF P=15 THEN 790 : IF P=30 THEN 850 : IF P=45 THEN 900 : IF P>55 THEN 400 0380 SELECT P3 : PRINT HEX(01) : SELECT P 0390 GOTO 410 0400 IF P<59 THEN 950 0410 RETURN 0420 GOSUB 1020 : GOSUB 200 : GOSUB 1020 0430 RETURN 0440 PRINT HEX(030A0A0A0A0A0A0A0A0A0A0A0A0A0A);Z4;Z5;TAB(15);U$;TAB(30);V$;TAB (45);W$;TAB(55);X$;HEX(01) 0450 PRINT TAB(20);H;"BALLISTIC MISSILES DESTROYED";HEX(01) 0460 RETURN 0470 IF U$=H$ THEN 550 : D,E=0 : B=13 : G=16 0480 IF U=0 THEN 550 0490 U=U-1 : CONVERT U TO STR(U$,2,1),(#) 0500 B=B-1 0510 PRINT HEX(01) 0520 FOR A=1 TO B : PRINT HEX(0A) : NEXT A : PRINT TAB(G);S$;"^";HEX(01) 0530 F=1 : RETURN 0540 F=0 : IF B=3 THEN 550 : GOTO 500 0550 GOSUB 760 0560 B,F=0 : RETURN 0570 IF V$=H$ THEN 650 : B,E=0 : D=13 : G=31 0580 IF V=0 THEN 650 0590 V=V-1 : CONVERT V TO STR(V$,2,1),(#) 0600 D=D-1 0610 PRINT HEX(01) 0620 FOR A=1 TO D : PRINT HEX(0A) : NEXT A : PRINT TAB(G);S$;"^";HEX(01) 0630 F=2 : RETURN 0640 F=0 : IF D=3 THEN 650 : GOTO 600 0650 GOSUB 760 0660 D,F=0 : RETURN 0670 IF W$=H$ THEN 750 : B,D=0 : E=13 : G=46 0680 IF K=0 THEN 750 0690 K=K-1 : CONVERT K TO STR(W$,2,1),(#) 0700 E=E-1 0710 PRINT HEX(01) 0720 FOR A=1 TO E : PRINT HEX(0A) : NEXT A : PRINT TAB(G);S$;"^";HEX(01) 0730 F=3 : RETURN 0740 F=0 : IF E=3 THEN 750 : GOTO 700 0750 GOSUB 760 : E,F=0 : RETURN 0760 PRINT HEX(010A); 0770 PRINT HEX(0A0A20202020202020202020202020202020202020202020202020202020202 02020202020202020202020202020202020202020) 0780 PRINT HEX(01) : RETURN 0790 GOSUB 440 0800 Y=15 0810 PRINT "SILO #1 DESTROYED!!!" : FOR J=1 TO W : PRINT HEX(0A) : NEXT J : PRINT TAB(Y);H$;HEX(01) 0820 SELECT P9 : U$=H$ : PRINT : SELECT P1 0830 PRINT HEX(01) 0840 RETURN 0850 GOSUB 440 0860 Y=30 0870 PRINT "SILO #2 DESTROYED!!!" : FOR J=1 TO W : PRINT HEX(0A) : NEXT J : PRINT TAB(Y);H$;HEX(01) 0880 SELECT P9 : V$=H$ : PRINT : SELECT P 0890 RETURN 0900 GOSUB 440 0910 Y=45 0920 PRINT "SILO #3 DESTROYED!!!" : FOR J=1 TO W : PRINT HEX(0A) : NEXT J : PRINT TAB(Y);H$;HEX(01) 0930 SELECT P9 : W$=H$ : PRINT : SELECT P 0940 RETURN 0950 GOSUB 440 0960 PRINT "MISSILE CONTROL ROOM DESTROYED!!!"; " YOU ARE OUT OF BUSINESS!" 0970 FOR J=1 TO W-1 : PRINT HEX(0A) : NEXT J : PRINT TAB(55);"))";HEX(0C);")(";HEX(0A);"((" 0980 PRINT HEX(01) 0990 PRINT HEX(0A0A0A) : GOTO 80 1000 G=G-1 : GOTO 230 1010 G=G+1 : GOTO 230 1020 IF B=I THEN 1040 : IF D=I THEN 1040 : IF E=I THEN 1040 1030 RETURN 1040 O=INT(I*R)+2 1050 IF G=OTHEN 1070 : IF G+1=O THEN 1070 : IF G+2=O THEN 1070 1060 RETURN 1070 G=G-2 1080 GOSUB 440 1090 PRINT HEX(01) 1100 H=H+1 : FOR L=1 TO A : PRINT HEX(0A) : NEXT L : PRINT HEX(0C);TAB(G);"))((";HEX(0A0808080808);"=%%%%=";HEX(0A0808080808); "))((" 1110 B,D,E,F=0 1120 IF H=10 THEN 1150 : PRINT HEX(01);"BALLISTIC MISSILE DESTROYED" 1130 SELECT P9 : PRINT : PRINT : SELECT P 1140 GOTO 190 1150 PRINT "THE ENEMY'S ICBM STOCKPILE IS DEPLETED";TAB(63) 1160 KEYIN W$,1170,1170 1170 GOTO 20 1180 F=0 : RETURN