Listing of file='ABM' on disk='vmedia/games-droz00.wvd.zip'
# Sector 708, program filename = 'ABM'
0005 SELECT P
0010 PRINT HEX(030A0A)
0020 PRINT " BALLISTIC MISSILE WAR GAME"
0030 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."
0040 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."
0050 PRINT "THE ABM MAY BE GUIDED TO THE LEFT BY KEYING SPECIAL FUNCTION KEY '
00', AND TO THE RIGHT WITH '01'"
0060 PRINT
: INPUT "PRESS 'RETURN' TO COMMENCE GAME",P2
0070 R=3
0080 SELECT P
0090 S$=HEX(0A080808202020202008080C)
0100 U,V,K=7
0110 U$,V$,W$="(7)"
: X$="(MCR)"
0120 W=12
: H$="))(("
0130 GOSUB 390
0140 GOSUB 230
0150 GOTO 130
0160 C$="9"
: KEYIN C$,175,170
0170 C=0
: IF C$=HEX(00) THEN 950
: IF C$=HEX(01) THEN 960
0175 C=NUM(C$)
: IF C=0THEN 160
0180 CONVERT C$ TO C
0190 PRINT HEX(01);
0200 ON F GOSUB 490,590,690
0210 ON C GOSUB 420,520,620
0220 RETURN
0230 A$=">M>"
0240 R=5*RND(R)
0245 IF R<1 THEN 240
0250 I=0
0260 PRINT HEX(01)
: I=I+1
: FOR T=1 TO I
: PRINT HEX(0A);
: NEXT T
0270 IF I>13 THEN 320
0280 Q=I
0290 PRINT TAB(I*R);A$
: GOSUB 370
: PRINT HEX(01)
: FOR T=1 TO Q
: PRINT HEX(0A)
: NEXT T
0300 PRINT TAB(I*R);HEX(202020);Z$
: GOTO 260
0310 I=0
0320 P=INT(I*R)
: IF P=15 THEN 740
: IF P=30 THEN 800
: IF P=45 THEN 850
: IF P>55 THEN 350
0330 SELECT P3
: PRINT HEX(01)
: SELECT P
0340 GOTO 360
0350 IF P<59 THEN 900
0360 RETURN
0370 GOSUB 970
: GOSUB 160
: GOSUB 970
0380 RETURN
0390 PRINT HEX(030A0A0A0A0A0A0A0A0A0A0A0A0A0A);TAB(15);U$;TAB(30);V$;TAB(45);W
$;TAB(55);X$;HEX(01)
0400 PRINT TAB(20);H;"BALLISTIC MISSILES DESTROYED";HEX(01)
0410 RETURN
0420 IF U$=H$ THEN 500
: D,E=0
: B=13
: G=16
0430 IF U=0 THEN 500
0440 U=U-1
: CONVERT U TO STR(U$,2,1),(#)
0450 B=B-1
0460 PRINT HEX(01)
0470 FOR A=1 TO B
: PRINT HEX(0A)
: NEXT A
: PRINT TAB(G);S$;"^";HEX(01)
0480 F=1
: RETURN
0490 F=0
: IF B=3 THEN 500
: GOTO 450
0500 GOSUB 710
0510 B,F=0
: RETURN
0520 IF V$=H$ THEN 600
: B,E=0
: D=13
: G=31
0530 IF V=0 THEN 600
0540 V=V-1
: CONVERT V TO STR(V$,2,1),(#)
0550 D=D-1
0560 PRINT HEX(01)
0570 FOR A=1 TO D
: PRINT HEX(0A)
: NEXT A
: PRINT TAB(G);S$;"^";HEX(01)
0580 F=2
: RETURN
0590 F=0
: IF D=3 THEN 600
: GOTO 550
0600 GOSUB 710
0610 D,F=0
: RETURN
0620 IF W$=H$ THEN 700
: B,D=0
: E=13
: G=46
0630 IF K=0 THEN 700
0640 K=K-1
: CONVERT K TO STR(W$,2,1),(#)
0650 E=E-1
0660 PRINT HEX(01)
0670 FOR A=1 TO E
: PRINT HEX(0A)
: NEXT A
: PRINT TAB(G);S$;"^";HEX(01)
0680 F=3
: RETURN
0690 F=0
: IF E=3 THEN 700
: GOTO 650
0700 GOSUB 710
: E,F=0
: RETURN
0710 PRINT HEX(010A);
0720 PRINT HEX(0A0A20202020202020202020202020202020202020202020202020202020202
02020202020202020202020202020202020202020)
0730 PRINT HEX(01)
: RETURN
0740 GOSUB 390
0750 Y=15
0760 PRINT "SILO #1 DESTROYED!!!"
: FOR J=1 TO W
: PRINT HEX(0A)
: NEXT J
: PRINT TAB(Y);H$;HEX(01)
0770 SELECT P9
: U$=H$
: PRINT
: SELECT P
0780 PRINT HEX(01)
0790 RETURN
0800 GOSUB 390
0810 Y=30
0820 PRINT "SILO #2 DESTROYED!!!"
: FOR J=1 TO W
: PRINT HEX(0A)
: NEXT J
: PRINT TAB(Y);H$;HEX(01)
0830 SELECT P9
: V$=H$
: PRINT
: SELECT P
0840 RETURN
0850 GOSUB 390
0860 Y=45
0870 PRINT "SILO #3 DESTROYED!!!"
: FOR J=1 TO W
: PRINT HEX(0A)
: NEXT J
: PRINT TAB(Y);H$;HEX(01)
0880 SELECT P9
: W$=H$
: PRINT
: SELECT P
0890 RETURN
0900 GOSUB 390
0910 PRINT "MISSILE CONTROL ROOM DESTROYED!!!"; "
YOU ARE OUT OF BUSINESS!"
0920 FOR J=1 TO W-1
: PRINT HEX(0A)
: NEXT J
: PRINT TAB(55);"))";HEX(0C);")(";HEX(0A);"(("
0930 PRINT HEX(01)
0940 PRINT HEX(0A0A0A)
: STOP
0950 G=G-1
: GOTO 190
0960 G=G+1
: GOTO 190
0970 IF B=I THEN 990
: IF D=I THEN 990
: IF E=I THEN 990
0980 RETURN
0990 O=INT(I*R)+2
1000 IF G=OTHEN 1020
: IF G+1=O THEN 1020
: IF G+2=O THEN 1020
1010 RETURN
1020 G=G-2
1030 GOSUB 390
1040 PRINT HEX(01)
1050 H=H+1
: FOR L=1 TO A
: PRINT HEX(0A)
: NEXT L
: PRINT HEX(0C);TAB(G);"))((";HEX(0A0808080808);"=%%%%=";HEX(0A0808080808);
"))(("
1060 B,D,E,F=0
1070 IF H=10 THEN 1100
: PRINT HEX(01);"BALLISTIC MISSILE DESTROYED"
1080 SELECT P9
: PRINT
: PRINT
: SELECT P
1090 GOTO 130
1100 PRINT "THE ENEMY'S ICBM STOCKPILE IS DEPLETED"
1110 STOP
1120 F=0
: RETURN