home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / cpmug / cpmug020.ark / GUNNER.BAS < prev    next >
Encoding:
BASIC Source File  |  1984-04-29  |  2.0 KB  |  76 lines

  1. 10 REM *** MODIFIED AND CONVERTED TO RSTS/E BY DAVID AHL, DIGITAL
  2. 100 PRINT "THIS COMPUTER DEMONSTRATION SIMULATES THE"
  3. 110 PRINT"RESULTS OF FIRING A FIELD ARTILLERY WEAPON."
  4. 120 PRINT
  5. 130 PRINT"YOU ARE THE OFFICER-IN-CHARGE, GIVING ORDERS TO THE GUN"
  6. 140 PRINT"CREW, TELLING THEM THE DEGREES OF ELEVATION YOU ESTIMATE"
  7. 150 PRINT"WILL PLACE THE PROJECTILE ON TARGET.  A HIT WITHIN 100 YARDS"
  8. 160 PRINT "OF THE TARGET WILL DESTROY IT.  TAKE MORE THAN 5 SHOTS,"
  9. 170 PRINT "AND THE ENEMY WILL DESTROY YOU!"
  10. 171 PRINT
  11. 180 PRINT"MAXIMUM RANGE OF YOUR GUN IS 46500 YARDS."
  12. 185 LET Z=0
  13. 190 PRINT
  14. 195 LET S1=0
  15. 200 LET T=43000-30000*RND
  16. 210 LET S=0
  17. 220 GO TO 370
  18. 230 PRINT"MINIMUM ELEVATION OF GUN IS ONE DEGREE."
  19. 240 GO TO 390
  20. 250 PRINT"MAXIMUM ELEVATION OF GUN IS 89 DEGREES."
  21. 260 GO TO 390
  22. 270 PRINT"OVER TARGET BY ";ABS(E);"YARDS."
  23. 280 GO TO 390
  24. 290 PRINT "SHORT OF TARGET BY ";ABS(E);"YARDS."
  25. 300 GO TO 390
  26. 310 GO TO 320
  27. 320 PRINT"***TARGET DESTROYED***   ";S;"ROUNDS OF AMMUNITION EXPENDED"
  28. 322 GOSUB 600
  29. 325 LET S1=S1+S
  30. 330 IF Z=4 THEN 490
  31. 340 LET Z=Z+1
  32. 345 PRINT
  33. 350 PRINT"THE FORWARD OBSERVER HAS SIGHTED MORE ENEMY ACTIVITY."
  34. 360 GO TO 200
  35. 370 PRINT"     DISTANCE TO THE TARGET IS ";INT(T);"YARDS....."
  36. 380 PRINT
  37. 390 PRINT
  38. 400 PRINT"ELEVATION: ";
  39. 410 INPUT B
  40. 415 RANDOMIZE
  41. 420 IF B>89 THEN 250
  42. 430 IF B<1 THEN 230
  43. 440 LET S=S+1
  44. 442 IF S<6 THEN 450
  45. 443 PRINT
  46. 444 PRINT "BOOM !!!  YOU HAVE JUST BEEN DESTROYED ";
  47. 445 GOSUB 600
  48. 446 PRINT "BY THE ENEMY"
  49. 447 PRINT
  50. 448 PRINT
  51. 449 GOTO 495
  52. 450 LET B2=2*B/57.3
  53. 451 LET I=46500*SIN(B2)
  54. 452 LET X=T-I
  55. 453 LET E=INT(X)
  56. 460 IF ABS(E)<100 THEN 310
  57. 470 IF E>100 THEN 290
  58. 480 IF E<-100 THEN 270
  59. 482 PRINT
  60. 484 PRINT
  61. 490 PRINT "TOTAL ROUNDS EXPENDED WERE ";S1
  62. 491 IF S1>15 THEN 495
  63. 492 PRINT "NICE SHOOTING !!"
  64. 493 GOSUB 600
  65. 494 GOTO 500
  66. 495 PRINT "BETTER GO BACK TO FORT SILL FOR REFRESHER TRAINING!"
  67. 499 PRINT
  68. 500 PRINT "THANK YOU FOR PLAYING!"
  69. 504 PRINT
  70. 505 PRINT "TRY AGAIN....."
  71. 506 PRINT
  72. 507 GOTO 180
  73. 600 PRINT "          "
  74. 610 RETURN
  75. 999 END
  76.