1 rem 2 rem GUNNER.BAS - Artillery Firing Game For CP/M-86 3 rem 4 rem ============================================================ 5 rem 10 rem MODIFIED AND CONVERTED TO RSTS/E BY DAVID AHL, DIGITAL 20 rem CP/M-86 rendition for IBM-compatibles by Kirk Lawrence 21 rem 30 rem =========================================================== 31 rem 40 PRINT CHR$(27);"0";CHR$(27);"E"; 50 PRINT " Ü þ" 60 PRINT " ÜÛÛÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ Û" 70 PRINT " ²ÛÛßßßßßßßßßßÛßÛÛÛÛÛÛÛÛÛÛÛ±±±±±±±±±±±ÛßßßßßßßßßßßßßßßßßÛÛ" 80 PRINT " ²ÛÛ ÜÜÜßßßßß±±±ÛÛÛÛÛÛ±±±±±±±±±±±±±ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛßßßß" 90 PRINT " ²ÛÛÜÜßßß ±±±±±ß Ý Þ±±±±±±±Ý ßß ßßßßß" 100 PRINT " ²ÛÛß ±±±±±ßßß ÛÛÛÛÛÛÛ" 120 PRINT " ±±±±± ÛÛÛÛÛÛÛ G U N N E R !" 130 PRINT " ±±±±± ÛÛÛÛÛÛÛ" 140 PRINT " ßßß ÛÛÛÛÛÛÛ IBM version for CP/M-86" 150 PRINT " ÛÛßß by Kirk Lawrence" 161 PRINT 162 PRINT "You are the officer-in-charge, giving orders to the artillery gun crew. You" 163 PRINT "must tell them the degrees of elevation which you estimate will place the" 164 PRINT "projectile on target. A hit within 100 yards of the target will destroy it." 165 PRINT "But if you take more than 5 shots to hit the target, the enemy destroys YOU!" 171 PRINT 172 PRINT "You may enter any degree of elevation from 1.0 to 89.0." 173 PRINT "Those tenths of a degree are important, so don't ignore them!" 180 PRINT "The maximum range of your gun is 46500 yards." 190 PRINT 200 LET T=43000-30000*RND 210 LET S=0 220 GO TO 370 230 PRINT"The minimum possible elevation of your gun is 1.0 degrees." 240 GO TO 390 250 PRINT"The maximum possible elevation of your gun is 89.0 degrees." 260 GO TO 390 270 PRINT"Over the target by ";ABS(E);"yards." 280 GO TO 390 290 PRINT "Short of the target by ";ABS(E);"yards." 300 GO TO 390 310 GO TO 320 320 PRINT 321 PRINT"*** TARGET DESTROYED! *** ";CHR$(07); 322 PRINT S;"rounds of ammunition expended." 323 GOTO 491 345 PRINT CHR$(27);"E" 350 PRINT"The forward observer has sighted more enemy activity." 351 PRINT 360 GO TO 200 370 PRINT" Distance to the target is ";INT(T);"yards." 380 PRINT 390 PRINT 400 PRINT"Elevation in degrees"; 410 INPUT B 415 RANDOMIZE 420 IF B>89 THEN 250 430 IF B<1 THEN 230 440 LET S=S+1 441 IF S<6 THEN 450 442 PRINT CHR$(27);"E" 443 PRINT " ÛßßÛ ÛßßÛ ÛßßÛ ÛßÛßÛ Û" 444 PRINT " ÛÜÜÛÜ Û Û Û Û Û Û Û Û" 445 PRINT " Û Û Û Û Û Û Û Û Û ß" 446 PRINT " ßßßßß ßßßß ßßßß ß ß ß ß";CHR$(07) 447 PRINT " You have just been destroyed by the enemy. "; 448 PRINT 449 GOTO 491 450 LET B2=2*B/57.3 451 LET I=46500*SIN(B2) 452 LET X=T-I 453 LET E=INT(X) 460 IF ABS(E)<100 THEN 310 470 IF E>100 THEN 290 480 IF E<-100 THEN 270 491 IF S > 5 THEN 495 492 PRINT " Nice shooting!" 494 GOTO 499 495 PRINT " Better go back to Fort Sill for refresher training!" 499 PRINT 500 PRINT 505 PRINT "Want to go again (Y/N)"; 506 INPUT R$ 507 IF R$ = "Y" THEN 700 508 IF R$ = "y" THEN 700 509 IF R$ = "N" THEN 800 510 IF R$ = "n" THEN 800 511 PRINT CHR$(27);"A";" ";CHR$(13);CHR$(07); 512 GOTO 505 700 LET S = 0 701 GOTO 345 800 PRINT CHR$(27);"E";CHR$(27);"1"; 999 END