10 REM MISSL.ECB 15 REM .....MISSLE....Last revised 02-20-81 R.E.H. 20 REM ...THIS PROGRAM IS THE PROPERTY OF THE UNIVERSITY OF 30 REM ...HOUSTON AND G. E. FISHER. NO COPY OR REPRODUCION 40 REM ...OF THIS PROGRAM CAN BE MADE FOR COMMERCIAL REASONS 50 REM ...WITHOUT NOTIFICATION OF THE ABOVE PARTIES. 60 PRINT "&K&J&J" 70 PRINT TAB(20);"M I S S L E" 80 FOR X=1 TO 3: PRINT : NEXT X 90 DIM L$(60) 100 LET S1=50,D1=.8,I1=1,I2=50,N1=0,N2=0,V1=0,V2=0 110 LET L$="> " 120 LET L$=L$+" " 130 LET L$(I2,I2)="<" 140 FOR I=2 TO S1-1 150 LET L$(I,I)=" " 160 NEXT I 170 LET R1=2,R2=5,J1=0,J2=0,H1=0,H2=0 180 LET Z=RND(0) 190 GOSUB 1360 200 PRINT " DAMAGE",,"AIR-SPACE" 210 PRINT " > < !....!....!....!....!....!....!....!....!....!.....!" 220 REM PRINT AND GET ACCERATION OR FIRE VELOCITY. 230 PRINT H1;H2;":"; 240 FOR I=1 TO S1 250 PRINT L$(I,I); 260 NEXT I 270 PRINT ":"; 280 INPUT A1 290 LET F1=0 300 LET E1=0 310 IF A1<>9 THEN 340 320 LET E1=1 330 GOTO 390 340 IF A1<-R1 THEN LET F1=A1+R1 350 IF A1>R1 THEN LET F1=A1-R1 360 IF F1>R2 THEN LET F1=R2 370 IF F1<-R2 THEN LET F1=-R2 380 IF F1=0 THEN 410 390 LET A1=0 400 REM ...GENERATE COMPUTER CONTROL 410 LET A2=2*R1*RND(0)-R1 420 IF I2<=I1 THEN 440 430 IF (I1-I2)>-R2 THEN LET F2=I1-I2 ELSE LET F2=-R2 440 IF I2>=I1 THEN 460 450 IF (I1-I2)S1/2 THEN LET A2=A2-1 500 IF I2S1-1 THEN LET A2=-2 530 REM ...CALCULATE POSITIONS 540 LET L$(I1,I1)=" " 550 LET L$(I2,I2)=" " 560 LET V1=V1+A1 570 LET V2=V2+A2 580 LET I1=INT(I1+V1) 590 IF I1<1 THEN LET I1=1 600 IF I1>S1 THEN LET I1=S1 610 LET I2=INT(I2+V2) 620 IF I2<1 THEN LET I2=1 630 IF I2>S1 THEN LET I2=S1 640 LET L$(I1,I1)=">" 650 LET L$(I2,I2)="<" 660 IF J3=0 THEN 690 670 IF J3<>I1 AND J3<>I2 AND J3<>J1 AND J3<>J2 THEN LET L$(J3,J3)=" " 680 LET J3=0 690 IF J4=0 THEN 720 700 IF J4<>I1 AND J4<>I2 AND J4<>J1 AND J4<>J2 THEN LET L$(J4,J4)=" " 710 LET J4=0 720 IF J1=0 THEN 890 730 IF J1<>I1 AND J1<>I2 AND J1<>J2 AND J1<>J4 THEN LET L$(J1,J1)=" " 740 LET J1=J1+F3 750 IF J1<1 THEN LET J1=1 760 IF J1>S1 THEN LET J1=S1 770 LET K1=K1+1 780 IF E1<>0 THEN 810 790 IF F1<>0 THEN 810 800 IF K1<5 THEN 880 810 LET L$(J1,J1)="*" 820 LET J3=J1 830 IF ABS(J1-I2)<3 THEN LET H2=H2+3-ABS(J1-I2) 840 IF ABS(J1-I1)<3 THEN LET H1=H1+3-ABS(J1-I1) 850 LET J1=0 860 LET K1=0 870 GOTO 890 880 IF J1<>I1 AND J1<>I2 AND J1<>J2 THEN LET L$(J1,J1)="." 890 IF J2=0 THEN 1060 900 IF J2<>I1 AND J2<>I2 AND J2<>J3 AND J2<>J1 THEN LET L$(J2,J2)=" " 910 LET J2=J2+F4 920 IF J2<1 THEN LET J2=1 930 IF J2>S1 THEN LET J2=S1 940 LET K2=K2+1 950 IF F2<>0 THEN 970 960 IF K2<5 THEN 1040 970 LET L$(J2,J2)="*" 980 LET J4=J2 990 IF ABS(J2-I1)<3 THEN LET H1=H1+3-ABS(J2-I1) 1000 IF ABS(J2-I2)<3 THEN LET H2=H2+3-ABS(J2-I2) 1010 LET J2=0 1020 LET K2=0 1030 GOTO 1060 1040 IF J2<>I1 AND J2<>I2 AND J2<>J1 THEN LET L$(J2,J2)="." 1050 REM ...FIRE MISSLE 1060 IF F1=0 THEN 1150 1070 LET N1=N1+1 1080 LET F3=F1 1090 LET K1=0 1100 IF F1<0 THEN LET J1=I1-1 1110 IF F1>0 THEN LET J1=I1+1 1120 IF J1<1 THEN LET J1=2 1130 IF J1>S1 THEN LET J1=S1-2 1140 IF J1<>I2 AND J1<>J4 THEN LET L$(J1,J1)="." 1150 IF F2=0 THEN 1240 1160 LET N2=N2+1 1170 LET F4=F2 1180 LET K2=0 1190 IF F2<0 THEN LET J2=I2-1 1200 IF F2>0 THEN LET J2=I2+1 1210 IF J2<1 THEN LET J2=2 1220 IF J2>S1 THEN LET J2=S1-2 1230 IF J2<>I1 AND J2<>J3 THEN LET L$(J2,J2)="." 1240 IF H1>9 OR H2>9 THEN 1260 1250 GOTO 230 1260 PRINT " !....!....!....!....!....!....!....!....!....!.....!" 1270 IF H1>9 THEN 1290 1280 GOTO 1310 1290 PRINT " YOU HAVE BEEN DESTROYED.!" 1300 GOTO 1320 1310 PRINT " YOU HAVE WIPED-OUT THE ENEMY." 1320 PRINT "SHIP","DAMAGE","MISSLES FIRED" 1330 PRINT ">",H1,N1 1340 PRINT "<",H2,N2 1350 GOTO 1600 1360 PRINT " DO YOU NEED INSTRUCTIONS ---=>"; 1370 INPUT (1,0)A$ 1380 LET A$=A$+"Y" 1390 IF A$(1,1)<>"Y" THEN RETURN 1400 PRINT 1410 PRINT " YOU ARE THE CAPTAIN OF AN AIRCRAFT ARMED WITH" 1420 PRINT " AIR TO AIR MISSLES WHICH CAN BE EXPLODED REM OTELY." 1430 PRINT " AN EXPLOSION WITHIN ";R1;" UNITS OF AN AIRCRAFT" 1440 PRINT " WILL CAUSE DAMAGE. IF DAMAGE EXCEEDS 9 UNITS," 1450 PRINT " YOU LOSE. WHEN :? IS TYPED, ENTER X WHERE:" 1460 PRINT " IF -";R1;"<=X<=";R1;" THEN X IS AIRCRAFT ACCELERATION" 1470 PRINT " IF -";R2+2;"<=X<=";R2+2;" THEN X IS MISSLE VELOCITY+2" 1480 PRINT " AND MISSLE IS FIRED. IF A MISSLE IS IN" 1490 PRINT " FLIGHT THEN IT IS DETONATED." 1500 PRINT " IF X=9 AND A MISSLE IS IN FLIGHT THEN IT IS DETONATED." 1510 INPUT (1,0)" TYPE any letter to see more ---=>",I$ 1520 PRINT "&J MISSLE RANGE IS 6 MOVES." 1530 PRINT " TO THE RIGHT IS THE POSITIVE DIRECTION." 1540 PRINT " LEGEND" 1550 PRINT " > IS YOUR AIRCRAFT." 1560 PRINT " < IS THE ENEMY AIRCRAFT." 1570 PRINT " . IS A MISSLE IN FLIGHT." 1580 PRINT " * IS A MISSLE EXPLOSION." 1590 RETURN 1600 END