home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1990-04-12 | 3.9 KB | 106 lines |
- 0 ME$="DEMOMENU.BAS":ON ERROR GOTO 65000
- 100 DIM TT$(4 ),RT$(4),WT$(4) : CLS :RANDOMIZE TIMER 'PANZER.BAS..1/26/85
- 110 TT$(1)=" MARK III " : TT$(2)=" MARK IV " : TT$(3)=" PANTHER "
- 120 TT$(4)=" TIGER "
- 130 RT$(1)=" HAS BEEN SIGHTED MOVING TOWARD YOU"
- 140 RT$(4)=" IS APPROACHING FROM YOUR REAR "
- 150 RT$(2)=" IS MOVING ON YOU FROM THE LEFT"
- 160 RT$(3)=" HAS JUST COME INTO VIEW "
- 170 WT$(1)=" A SCHRAPNEL SPRAY HAS SLICED YOUR TRACK"
- 180 WT$(4)=" A SHELL BURST HAS PUNCTURED YOUR HYDRAULICS"
- 190 WT$(2)=" A PHOSPHORUS FRAGMENT HAS LANDED ON YOUR ENGINE COWLING"
- 200 WT$(3)=" A SHAPED CHARGE HAS DISABLED ONE DRIVE WHEEL"
- 210 GOSUB 2000:T%=TV%:GOSUB 2000:R%=TV%:GOSUB 2000:W%=TV%
- 220 PRINT "NEED INSTRUCTIONS (YES=1, NO=0)" : Z$=INPUT$(1):Z=VAL(Z$)
- 230 IF Z=0 THEN 300
- 240 CLS : PRINT "YOU ARE A TANK COMMANDER FACING A PANZER DIVISION "
- 250 PRINT "IT IS YOUR JOB TO PROVIDE THE GUN ELEVATION TO YOUR CREW AS"
- 260 PRINT "ENEMY TANKS ARE SIGHTED. YOUR TANK'S GUN HAS A MAXIMUM RANGE OF"
- 262 PRINT "4,650 YARDS AND AN ELEVATION SETTING OF FROM 1 TO 45 DEGREES"
- 264 PRINT " FOUR TYPES OF PANZERS OF DIFFERING GUN, ARMOR, AND FIGHTING ABILITY"
- 268 PRINT"WILL BE SEEN ON THE BATTLE FIELD. YOU MUST GET THEM BEFORE THEY GET YOU!!!!"
- 272 PRINT"THE GAME WILL END IF YOU ARE FATALLY HIT OR ELECT TO RETREAT FOR REFITTING"
- 274 PRINT "THE FOUR PANZERS BY RANK ORDER OF FIGHTING POWER ARE:"
- 275 PRINT
- 276 PRINT" 1) TIGER 2) PANTHER 3) MARK IV 4) MARK III"
- 278 PRINT : PRINT " OKAY NOW FIGHT FOR YOUR LIFE"
- 300 PRINT : PRINT :PRINT "ENGAGE OR RETREAT FOR REFITTING COMMANDER(1=E,2=R)"
- 305 HIT=100*RND(1)
- 310 Q$=INPUT$(1):Q=VAL(Q$)
- 315 MA=T%
- 320 IF Q=2 THEN 1000
- 325 RA=43000-25999*RND(1)
- 326 RA=INT(RA/10)
- 330 CLS : PRINT "A" TT$(T%),RT$(R%)
- 332 K1=T%
- 340 PRINT : PRINT "AT A RANGE OF" RA " YARDS"
- 342 HIT=INT(100*RND(1))
- 350 PRINT "*********************************************************"
- 352 PRINT:PRINT"GUN ELEVATION COMMANDER" : PRINT
- 360 INPUT B2
- 370 IF B2<1 THEN PRINT "MINIMUM GUN ANGLE IS 1 DEGREE" : GOTO 350
- 380 IF B2>45 THEN PRINT "MAXIMUM GUN ANGLE IS 45 DEGREES" : GOTO 350
- 382 PRINT : PRINT "THE SMOKE CLEARS AND YOUR SHOT IS......"
- 384 FOR K5=1 TO 2000 : NEXT
- 390 PRINT
- 400 B3=2*B2/57.3
- 410 DS=46500*SIN(B3)
- 415 DS=DS/10
- 420 X=RA-DS : E=INT(X)
- 430 IF ABS(E)<10 THEN 500
- 440 IF E>10 THEN 460
- 450 IF E<-10 THEN 480
- 460 PRINT : PRINT "SHORT OF THE " TT$(K1) "BY" ABS(E) "YARDS"
- 470 GOTO 550
- 480 PRINT : PRINT "OVER THE "TT$(K1) "BY " ABS(E) " YARDS"
- 482 GOTO 550
- 490 PRINT:PRINT "OVER THE "TT$(K1) "BY " ABS(E) "YARDS"
- 492 GOTO 550
- 500 CLS:SCREEN 4 :BEEP:BEEP: PRINT "BANG, BANG, BANG!":PRINT:PRINT "SCRATCH A "TT$(K1)
- 505 FOR K5=1 TO 5000 : NEXT:SCREEN 2
- 508 GOSUB 2000:W%=TV%
- 510 GOSUB 2000: T%=TV% :GOSUB 2000: R% =TV% : CLS :GOTO 300
- 550 PRINT "***************************************************"
- 555 PRINT : PRINT "THE " TT$(K1) "FIRES AND..............................."
- 557 FOR L9=1 TO 2000 : NEXT
- 560 PRINT:SHOT=INT(100*RND(1))
- 570 IF ABS(SHOT-HIT)<=MA THEN 800
- 580 D=ABS(SHOT-HIT)
- 585 D=INT(D/4)
- 590 IF NM=1 THEN MA=4*T%
- 600 IF D<=T% THEN 620
- 610 PRINT : PRINT " MISSES YOUR TANK BY " D*10 "YARDS" : GOTO 350
- 620 PRINT : PRINT WT$(W%) : PRINT : PRINT "YOU ARE IN BAD TROUBLE NOW"
- 625 GOSUB 2000:W%=TV%
- 630 PRINT "BETTER MAKE THE NEXT SHOT COUNT OR IT MIGHT BE YOUR HEAD":PRINT
- 640 NM=1 : GOTO 350
- 800 PRINT : PRINT "SCORES A DIRECT HIT ----YOUR TANK IS BURNING"
- 810 PRINT : PRINT"GET THE HATCH OPEN.....RUN FOR YOUR LIFE"
- 815 FOR I=1 TO 4000 : NEXT : PRINT
- 820 PRINT:PRINT "IF YOU WANT TO PLAY ANOTHER GAME"
- 822 PRINT : PRINT :FOR I=1 TO 2000 : NEXT
- 825 FOR H7=1 TO 2000 : NEXT:SCREEN 4 :BEEP:BEEP:BEEP:PRINT ,"BOOM...BOOM ...BOOM...":PRINT
- 827 FOR H7=1 TO 2000:NEXT: PRINT
- 830 PRINT:PRINT "SO LONG*******************",
- 835 FOR H7=1 TO 3000 : NEXT:SCREEN 2
- 836 PRINT : CLS
- 840 PRINT : PRINT : PRINT "LIKE TO TRY AGAIN COMMANDER (1=YES, 0=NO)"
- 850 INPUT Q
- 860 IF Q= 1 THEN 508
- 890 PRINT : PRINT "BETTER LUCK NEXT TIME COMMANDER"
- 900 PRINT"RETURNING TO MAIN MENU":RUN "files.BAS"
- 1000 PRINT : PRINT "GOOD WORK COMMANDER LET'S HEAD FOR THE PX AND"
- 1010 PRINT "SOME R AND R. COME BACK WHEN YOU RECOVER....."
- 1020 PRINT:PRINT:PRINT "RETURNING YOU TO THE MENU":RUN"files.bas"
- 2000 TV%=INT(10*RND(1))
- 2010 IF TV%>0 AND TV%<5 THEN RETURN ELSE 2000
- 65000 CLS:PRINT:PRINT:SCREEN 1:PRINT TAB(15); "ERROR TRAP";" "
- 65005 PRINT:PRINT "ERROR CONDITION #";ERR
- 65010 PRINT:PRINT "HAS BEEN DETECTED IN LINE #";ERL
- 65015 PRINT:PRINT "HIT "; "<R>";" ";" TO RESUME"
- 65020 PRINT:PRINT"HIT "; "<F>";" ";" TO RETURN TO THE FILES PROGRAM"
- 65025 R$=INPUT$(1):PRINT :SCREEN 2
- 65030 IF R$="F" THEN RUN"FILES."
- 65035 IF R$="R" THEN RESUME NEXT
- 65040 ON ERROR GOTO 0
-