image of READY prompt

Wang2200.org

Listing of file='ICBM ' on disk='vmedia/games.wvd.zip'

# Sector 425, program filename = 'ICBM'
0001 REM "ICBM"
0005 SELECT P
0010 PRINT HEX(03)
0020 PRINT TAB(19);"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$,180,170
0170 C=0
   : IF C$=HEX(00) THEN 950
   : IF C$=HEX(01) THEN 960
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
9990 DEFFN'14
   : LOAD DC R"MENU"
9999 END