Listing of file='WAR' on disk='vmedia/more_games.wvd.zip'
# Sector 1463, program filename = 'WAR' 0010 REM *WAR* : LOAD DC T#6,"GAMES" 0020 PRINT HEX(030A0A) 0030 PRINT "THIS IS A WAR GAME IN WHICH YOU ARE FIRING AT" 0040 PRINT "AND BEING FIRED UPON BY SOME ENEMY. INPUT IS" 0050 PRINT "MADE IN DEGREES OF ELEVATION.(A KILL IS WITHIN 30 METERS.)" 0060 PRINT "YOU WILL BE TOLD WHEN TO FIRE AND WHEN YOU ARE BEING FIRED AT." 0070 C6=400 0080 PRINT "ON YOUR TURN YOU WILL HAVE APPROXIMATELY";INT(C6/40);"SECONDS TO F IRE." 0090 PRINT 0100 PRINT " TO START, KEY S.F. 0" 0110 KEYIN E$,110,120 : GOTO 110 0120 X1=30 : X2=30 0130 SELECT D 0140 SELECT P 0150 SELECT PRINT 005(64) 0160 DIM C$1,D$ 0170 DIM M$(15)64,B$(5),N$1 0180 P1=0 : P2=0 0190 B$(1)=". . . " 0200 B$(2)=" . . . ." 0210 B$(3)=" . .. . " 0220 B$(4)=" . .. . " 0230 B$(5)=" ...BOOM.. " 0240 J1=INT(RND(1)*4000) 0250 IF J1<200 THEN 240 0260 E=0 0270 L0=0 0280 H1=45 0290 PRINT "YOUR RANGE IS ";J1;"METERS." 0300 J3=INT(RND(1)*3000) 0310 IF J3<100 THEN 300 0320 IF J3>J1 THEN 300 0330 PRINT "THE ENEMY IS ";J3;"METERS AWAY." 0340 K=J3/54 0350 J2=INT(RND(1)*4000) 0360 IF J2<J3 THEN 350 0370 V2=SQR(32*J2) 0380 D0=0 0390 D1=J2 0400 V1=SQR(32*J1) 0410 R1=0 0420 H=0 0430 R=RND(1) : IF R<.5 THEN 440 : U=.5 : GOTO 960 0440 U=0 0450 PRINT "YOUR ANGLE OF ELEVATION IS....."; 0460 D$=" " 0470 C7=1 0480 KEYIN C$,490,480 : C7=C7+1 : IF C7<C6 THEN 480 : U=.5 : PRINT HEX(0D0A),"ENEMY NOW FIRING." : GOTO 970 0490 IF C$=HEX(0D) THEN 550 0500 IF C$<>HEX(08) THEN 520 0510 STR(D$,LEN(D$),1)=HEX(20) : GOTO 540 0520 IF C$<HEX(2D) THEN 480 : IF C$>HEX(39) THEN 480 0530 STR(D$,LEN(D$)+1,1)=C$ 0540 PRINT C$; : GOTO 480 0550 IF STR(D$,LEN(D$),1)=HEX(20) THEN 480 : CONVERT D$ TO A1 0560 IF A1<90 THEN 600 0570 PRINT "DUM-DUM, TRY SHOOTING AT THE ENEMY!" 0580 R1=R1+1 0590 GOTO 450 0600 IF A1>0 THEN 640 0610 PRINT "THIS SHOT MAY KILL AN ANT OR TWO,BUT..." 0620 R1=R1+1 0630 GOTO 450 0640 R1=R1+1 0650 V0=V1 0660 A=A1 0670 GOSUB 1370 0680 D=INT(V1*COS(A1)*T) 0690 Q=D-J3 0700 IF D<X1 THEN 800 0710 A=A1 0720 V0=V1 0730 N=1 0740 O=6 0750 N$="+" 0760 V9=15 0770 GOSUB 1530 0780 IF ABS(Q)<X1 THEN 870 0790 GOTO 850 0800 N=1 0810 GOSUB 1830 0820 IF E=1 THEN 1330 0830 PRINT HEX(01);"YOU JUST KILLED YOUR SELF DUMMY!" 0840 GOTO 240 0850 PRINT HEX(01);"YOU MISSED BY ";Q;"METTERS.(YOUR LAST ANGLE WAS =";A1;" )" 0860 GOTO 960 0870 N=54 0880 GOSUB 1830 0890 PRINT HEX(01) 0900 PRINT "YOU GOT HIM!!!!!" 0910 PRINT "IT ONLY TOOK YOU ";R1;"TRIES." 0920 P1=P1+1 0930 PRINT "ENEMY ";P2;":YOU ";P1 0940 GOTO 240 0950 REM .....LOGIC FOR ENEMY SHOT..... 0960 PRINT "ENEMY NOW FIRING." 0970 IF D1-J3>J3-D0 THEN 1000 0980 B=1 0990 GOTO 1010 1000 B=-1 1010 A2=(H1+L0)/2.0+B*RND(1)*(H1-L0)/2.0 1020 IF A2=H1 THEN 970 1030 PRINT HEX(010C0C) 1040 S=1 1050 IF U=0 THEN 1110 1060 V0=V2 1070 A=A2 1080 FOR I8=1 TO 1000 : NEXT I8 1090 GOSUB 1370 1100 U=0 1110 A=A2 1120 V0=V2 1130 N=-1 1140 O=59 1150 N$="*" 1160 V9=14 1170 IF R1<1 THEN 1190 : IF C7=C6 THEN 1190 1180 STR(M$(14),1,17)="ENEMY NOW FIRING." 1190 GOSUB 1530 1200 D=INT(V2*COS(A2)*T) 1210 Q=D-J3 1220 IF ABS(Q)<X2 THEN 1310 1230 PRINT HEX(010A);"THE ENEMY MISSED YOU BY ";Q;"METERS." 1240 IF Q<0 THEN 1280 1250 H1=A2 1260 D1=Q 1270 GOTO 450 1280 L0=A2 1290 D0=Q 1300 GOTO 450 1310 E=1 1320 GOTO 800 1330 PRINT HEX(01);"YOU ARE DEAD!!!!";TAB(62);HEX(20) 1340 P2=P2+1 1350 GOTO 930 1360 REM .....LOGIC FOR CLEARING..... 1370 FOR I=1 TO 15 1380 M$(I)=" " 1390 NEXT I 1400 STR(M$(1),59,1)="E" 1410 STR(M$(1),6,1)="Y" 1420 PRINT HEX(030C0C) 1430 PRINT M$(1) : PRINT HEX(0C) 1440 S=1 1450 T=V0*SIN(A)/16 1460 T2=T/2 1470 IF A<45 THEN 1500 1480 K0=(-16*T2*T2+V0*SIN(A)*T2)/14 1490 GOTO 1510 1500 K0=K 1510 RETURN 1520 REM .....LOGIC FOR DISPLAY..... 1530 S7=V0*SIN(A) 1540 S6=V0*COS(A) 1550 S5=K/S6 1560 T=S7/16 1570 FOR I1=1 TO 58 1580 T0=I1*S5 1590 IF T0>T THEN 1790 1600 L=-16*T0*T0+S7*T0 1610 L=INT(L/K0+.5)+1 1620 IF L>V9 THEN 1800 1630 IF S>L THEN 1740 1640 IF S=L THEN 1700 1650 C=L-S 1660 FOR I2=1 TO C 1670 PRINT HEX(0C) 1680 NEXT I2 1690 S=L 1700 STR(M$(S),N*I1+O,1)=N$ 1710 PRINT M$(S) 1720 PRINT HEX(0C) 1730 GOTO 1800 1740 C=S-L 1750 FOR I2=1 TO C 1760 PRINT 1770 NEXT I2 1780 GOTO 1690 1790 I1=58 1800 NEXT I1 1810 RETURN 1820 REM .....LOGIC FOR KILL..... 1830 FOR I9=1 TO 5 1840 STR(M$(I9),N,11)=B$(6-I9) 1850 NEXT I9 1860 PRINT HEX(010C0C) 1870 SELECT P2 1880 FOR I9=1 TO 5 1890 PRINT M$(I9);HEX(0C0C) 1900 NEXT I9 1910 SELECT P 1920 RETURN 1930 GOTO 10