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