image of READY prompt

Wang2200.org

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