home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / SIMTEL / CPMUG / CPMUG033.ARK / CAPSERCH.BAS < prev    next >
BASIC Source File  |  1984-04-29  |  4KB  |  180 lines

  1. REM THIS IS THE PROGRAM "C.A.P. SEARCH"
  2. REM WRITTEN BY CAPT. BRUCE BEAM CAP
  3. REM 1683 COACHLIGHT DR  NEW BERLIN,WI 53151
  4. 2 PRINT "C.A.P. SEARCH"
  5. 3 PRINT "INPUT A NUMBER";
  6. 4 INPUT K1
  7. 5 RANDOMIZE
  8. 6 PRINT "YOUR MISSION IS TO FIND AN AIRCRAFT THAT"
  9. 7 DIM X(30),Y(30)
  10. 10 X0=INT(31*RND)+1
  11. 15 Y0=INT(15*RND)+1
  12. 20 X1=INT(31*RND)+1
  13. 25 Y1=INT(15*RND)
  14. 30 F1=28
  15. 35 F2=50
  16. 40 R=RND*((ABS(Y1-Y0)+ABS(X1-X0))/1.5)
  17. 45 FOR I=1 TO R
  18. 50 S=S+INT(SGN(X1-X0)+SGN(.5-RND))
  19. 55 X(I)=X0+S
  20. 60 T=T+INT(SGN(Y1-Y0)+RND*1.99)
  21. 65 Y(I)=Y0+T
  22. 70 IF X(I)<3 THEN GOTO 100
  23. 75 IF X(I)>30 THEN GOTO 100
  24. 80 IF Y(I)<2 THEN GOTO 100
  25. 85 IF Y(I)>13 THEN GOTO 100
  26. 90 NEXT I
  27. 95 I=I-1
  28. 100 X2=X(I)
  29. 105 Y2=Y(I)
  30. 120 PRINT "DEPARTED AN AIRPORT IN ";32*Y0+X0;
  31. 122 PRINT "FOR ONE IN ";32*Y1+X1
  32. 125 P1=X0
  33. 126 P2=Y0
  34. 127 P3=X0
  35. 128 P4=Y0
  36. 129 P5=X0
  37. 130 P6=Y0
  38. 135 PRINT
  39. 140 GOTO 400
  40. 200 PRINT "LRT HAS A LEAD"
  41. 202 PRINT "AN AIRCRAFT WAS SEEN FLYING ";
  42. 205 IF Y2<P6 THEN PRINT "NORTH";
  43. 210 IF Y2>P6 THEN PRINT "SOUTH";
  44. 215 IF X2<P5 THEN PRINT "WEST";
  45. 220 IF X2>P5 THEN PRINT "EAST";
  46. 225 PRINT " IN GRID ";32*P6+P5
  47. 230 GOTO 965
  48. 270 G9=32*P4+P3
  49. 275 PRINT "532GF HEARS ELT IN ";G9
  50. 280 GOTO 820
  51. 300 IF RND<.3 THEN GOTO 400
  52. 305 PRINT "A/C FOUND IN GRID ";32*Y2+X2;"BY ";
  53. 310 IF U=1 THEN GOTO 330
  54. 315 IF U=2 THEN GOTO 340
  55. 320 IF U=3 THEN GOTO 350
  56. 321 PRINT "A FARMER!"
  57. 322 STOP
  58. 330 PRINT "8633S."
  59. 335 GOTO 355
  60. 340 PRINT "532GF."
  61. 345 GOTO 355
  62. 350 PRINT "LRT."
  63. 355 PRINT "IT TOOK ";B;":";C
  64. 357 PRINT "CONGRATULATIONS, M/C!"
  65. 358 STOP
  66. 360 PRINT "TIME ";B;":";C
  67. 365 PRINT "UNIT","33S","2GF","LRT"
  68. 370 PRINT
  69. 375 PRINT "ASSIGNED TO",V1*32+H1,V2*32+H2,V3*32+H3
  70. 380 PRINT "NOW IN",P2*32+P1, P4*32+P3, P6*32+P5
  71. 385 PRINT "FUEL",F1,F2
  72. 390 PRINT
  73. 400 PRINT "MOVE IT: 0-NONE, 1-A/C, 2-LRT, 3-STATUS";
  74. 405 INPUT M
  75. 407 IF M=3 THEN GOTO 360
  76. 408 IF M=9 THEN GOTO 305
  77. 410 L=L+1
  78. 412 IF L>12 + RND*12 THEN Z=2
  79. 413 B=INT(L/3)
  80. 414 C=(L-3*B)*20
  81. 415 PRINT
  82. 425 IF M<4 THEN GOTO 660
  83. 435 GOTO 400
  84. 440 N=8
  85. 445 GOTO 465
  86. 450 PRINT "RE-ENTER ";
  87. 455 PRINT "A/C N#";
  88. 460 INPUT N
  89. 465 PRINT "GRID";
  90. 470 INPUT G
  91. 475 PRINT
  92. 480 V=INT((G-1)/32)
  93. 485 H=G-32*V
  94. 490 IF N=33 THEN GOTO 575
  95. 495 IF N=2 THEN GOTO 595
  96. 500 IF N=8 THEN GOTO 510
  97. 505 GOTO 450
  98. 510 R1=1
  99. 515 H3=H
  100. 520 V3=V
  101. 525 GOTO 400
  102. 575 A1=1
  103. 580 V1=V
  104. 585 H1=H
  105. 590 GOTO 400
  106. 595 A2=1
  107. 600 H2=H
  108. 605 V2=V
  109. 610 GOTO 400
  110. 620 PRINT "532GF DOWN FOR GAS IN ";32*P4+P3
  111. 625 PRINT
  112. 630 F2=50
  113. 635 A2=0
  114. 640 H2=0
  115. 645 V2=0
  116. 660 IF A1<>1 THEN GOTO 750
  117. 665 FOR I=1 TO 2
  118. 670 F1=F1-1
  119. 675 IF F1<=0 THEN GOTO 735        REM LINE 735?
  120. 680 IF P2=V1 THEN GOTO 690
  121. 685 P2=P2+SGN(V1-P2)
  122. 690 IF P1=H1 THEN GOTO 700
  123. 695 P1=P1+SGN(H1-P1)
  124. 700 IF X2=P1 AND Y2=P2 THEN GOTO 725
  125. 705 NEXT I
  126. 710 IF RND>.07 THEN GOTO 750
  127. 715 PRINT "8633S LANDING IN ";32*P2+P1;
  128. 720 GOSUB 880
  129. 722 GOTO 740
  130. 725 U=1
  131. 730 GOTO 300
  132. 735 PRINT "8633S DOWN FOR GAS IN ";P2*32+P1
  133. 736 PRINT
  134. 740 F1=28
  135. 742 A1=0
  136. 743 H1=0
  137. 744 V1=0
  138. 750 IF A2<>1 THEN GOTO 900
  139. 755 FOR I=1 TO 3
  140. 760 F2=F2-1
  141. 765 IF F2<=0 THEN GOTO 620
  142. 770 IF P4=V2 THEN GOTO 780
  143. 775 P4=P4+SGN(V2-P4)
  144. 780 IF P3=H2 THEN GOTO 790
  145. 785 P3=P3+SGN(H2-P3)
  146. 790 IF G9=32*P4+P3 THEN GOTO 812
  147. 800 IF ABS(Y2-P4)+Z<=1 THEN GOTO 810
  148. 805 GOTO 820
  149. 810 IF ABS(X2-P3)<=1 THEN GOTO 270
  150. 812 IF Z1=1 THEN GOTO 820
  151. 815 IF Z=2 THEN PRINT "ELT SIGNAL LOST!"
  152. 817 IF Z=2 THEN Z=1
  153. 820 IF X2=P3 AND Y2=P4 THEN GOTO 870
  154. 835 NEXT I
  155. 840 IF RND>.07 THEN GOTO 900
  156. 850 PRINT "532GF LANDING IN ";32*P4+P3;
  157. 855 GOSUB 880
  158. 860 GOTO 630
  159. 870 U=2
  160. 875 GOTO 300
  161. 880 ON 2*RND+1 GOTO 895,896,897
  162. 895 PRINT ",PILOT WAS LOST";
  163. 896 PRINT " DUE TO STORM";
  164. 897 PRINT ",OBSERVER IS AIRSICK"
  165. 898 PRINT
  166. 899 RETURN
  167. 900 IF R1<>1 THEN GOTO 965
  168. 905 IF P5=H3 THEN GOTO 915
  169. 910 P5=P5+SGN(H3-P5)
  170. 915 IF P6=V3 THEN GOTO 925
  171. 920 P6=P6+SGN(V3-P6)
  172. 925 IF Y2=P6 AND X2=P5 THEN GOTO 985
  173. 940 FOR I=1 TO 12
  174. 945 IF X(I)=P5 AND Y(I)=P6 THEN GOTO 200
  175. 960 NEXT I
  176. 965 IF M=1 THEN GOTO 455
  177. 970 IF M=2 THEN GOTO 440
  178. 980 GOTO 400
  179. 985 U=3:GOTO 300            REM PROBLEM HERE?
  180.