|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 7808 (0x1e80) Types: TextFile Names: »GOLF.BAS«
└─⟦69a509965⟧ Bits:30005211 CR8 BASIC Games └─ ⟦this⟧ »GOLF.BAS«
1 REM *** GOLF-DEC.BAS *** DEC 10 GOLF GAME *** APR 77 *** 2 DIM L(15) 3 PRINT 4 PRINT "WELCOME TO THE U.C.N.W. BANGOR"; 5 PRINT " 18 HOLE CHAMPIONSHIP"; 6 PRINT 25 PRINT 26 PRINT 30 GOSUB 2320 40 LET X=3 50 LET N=2.1684E-20 60 LET S1=0 61 LET S2=0 62 LET T5=0 70 LET F=1 80 PRINT"WHAT IS YOUR HANDICAP! ( BEGINNERS TYPE 30.):"; 90 INPUT H 100 IF H>30 THEN 2180 101 IF H<0 THEN 2180 110 IF H>9 THEN 140 120 PRINT"HEY, THAT'S PRETTY GOOD." 130 GOTO 160 140 IF H<20 THEN 160 150 PRINT "ANYONE FOR TENNIS!" 160 PRINT "DIFFICULTIES AT GOLF INCLUDE:" 170 PRINT " 0=HOOK, 1=SLICE, 2=POOR DISTANCE, 4=TRAP SHOTS, 5=PUTTING" 180 PRINT "WHICH IS YOUR WORST:"; 190 INPUT T 200 IF T>5 THEN 180 201 IF T<0 THEN 180 202 IF T=3 THEN 180 210 FOR Z=1 TO (H+1)/(T+1)*10 220 LET R=RND(X1) 230 NEXT Z 240 LET J=0 241 LET Q=0 242 LET K=0 243 LET L(1)=0 250 LET S2=S2+S1 260 IF F=1 THEN 400 270 PRINT"YOUR SCORE ON HOLE";F-1;" WAS";S1; 274 IF P-S1+3>5 THEN 281 275 IF P-S1+3<1 THEN 281 276 IF P-S1+3=1 THEN 390 277 IF P-S1+3=2 THEN 390 278 IF P-S1+3=3 THEN 310 279 IF P-S1+3=4 THEN 330 280 IF P-S1+3=5 THEN 350 281 LET Z=INT((10*RND(X1))/3) 282 IF Z<1 THEN 290 283 IF Z>3 THEN 290 286 IF Z=1 THEN 294 287 IF Z=2 THEN 296 289 IF Z=3 THEN 298 290 PRINT"KEEP YOUR HEAD DOWN." 293 GOTO 390 294 PRINT"EVEN JACKLIN HAS HIS BAD HOLES#" 295 GOTO 390 296 PRINT"LET'S JUST FORGET THAT HOLE#" 297 GOTO 390 298 PRINT"I SHOULD GO BACK TO TRYING TO LAND ON THE MOON#" 299 REM 300 GOTO 390 310 PRINT "A PAR. NICE GOING." 320 GOTO 390 330 PRINT"A BIRDIE, TOUCH OF THE OOSTY'S" 340 GOTO 390 350 IF P=3 THEN 380 360 PRINT "A GREAT BIG EAGLE." 370 GOTO 390 380 PRINT "A HOLE IN *O*N*E*." 390 PRINT 395 IF F=19 THEN 2060 400 LET S1=0 410 IF S1=0 THEN 1910 420 IF L(1)<1 THEN 1450 430 LET X=1 440 IF L(1)>5 THEN 1490 450 PRINT "SHOT WENT";D1;" YARDS - IS ";D2;" YARDS FROM HOLE" 460 PRINT"BALL IS";INT(O);" YARDS OFF LINE IN "; 470 GOSUB 2150 480 PRINT"WHAT CLUB DO YOU WANT:"; 490 INPUT C 500 IF C<>0 THEN 700 510 FOR T6=1 TO 69 520 PRINT "-"; 530 NEXT T6 540 PRINT 550 IF C=9 THEN 480 560 PRINT"HERE'S YOUR BAG OF CLUBS." 565 PRINT" WOODS - FULL SWING ONLY. 1 - DRIVER." 570 PRINT" 2 - TWO WOOD." 580 PRINT" IRONS - FULL SWING ONLY. 12 - TWO IRON." 590 PRINT" 19 - NINE IRON." 600 PRINT" IRONS - LESS THAN FULL SWING. 22 - TWO IRON." 610 PRINT" 29 - NINE IRON." 620 PRINT "WHEN YOU REACH THE GREEN IT WILL BE ASSUMED THAT YOU ARE" 630 PRINT "USING A PUTTER. THE PUTT POTENCY NO. REFERS TO THE STRENGTH" 640 PRINT "WITH WHICH THE BALL IS PUTTED. USE NUMBERS GREATER THAN" 650 PRINT "ZERO, INCREASING THE NUMBER FOR GREATER DISTANCE." 660 PRINT "YOU WILL BE ASKED FOR 'PERCENT FULL SWING' ON CLUBS 22-29." 670 PRINT "THIS SHOULD BE A NUMBER FROM 1 TO 99." 680 LET C=9 690 GOTO 510 700 IF C<1 THEN 760 701 IF C>29 THEN 760 710 IF C>3 THEN 780 720 IF L(1)<5 THEN 810 721 IF C=14 THEN 810 722 IF C=23 THEN 810 730 GOTO 760 740 LET S1=S1-1 750 LET W=1 760 GOSUB 2320 770 GOTO 480 780 IF C<12 THEN 760 790 LET C=C-6 800 GOTO 720 810 LET S1=S1+1 820 LET W=1 830 IF C>13 THEN 1140 840 IF F/3=INT(F/3) THEN 1100 850 IF C<4 THEN 870 860 GOTO 880 870 IF L(1)=2 THEN 960 880 IF S1>7 THEN 990 890 LET D1=INT(((30-H)*3.38813E-20+187-((30-H)*-6.77626E-21+15)*C/2)+25*RND(X1)) 900 LET D1=INT(D1*W) 910 IF T=2 THEN 1470 920 LET O=(RND(X1)/2.1684E-20)*(2*H+16)*ABS(TAN(D1*1.51788E-21)) 930 LET D2=INT(SQR(O^2+ABS(D-D1)^2)) 940 IF D-D1<0 THEN 1010 950 GOTO 1030 960 PRINT"YOU TOPPED IT." 970 LET D1=35 980 GOTO 920 990 IF D<200 THEN 1600 1000 GOTO 890 1010 IF D2<20 THEN 1030 1020 PRINT"TOO MUCH CLUB. YOU OVERSHOT THE HOLE." 1030 LET B=D 1040 LET D=D2 1050 IF D2>27 THEN 1270 1060 IF D2>20 THEN 1400 1070 IF D2>1.35525E-20 THEN 1420 1080 LET L(1)=9 1090 GOTO 1800 1100 IF (72+((H+1)/2.30393E-20))/18<S2+Q+(10*(F-1)/18) THEN 850 1110 LET Q=Q+1 1120 IF S1/2<>INT(S1/2) THEN 1230 1130 GOTO 960 1140 PRINT "PERCENT FULL SWING:"; 1150 INPUT W 1160 LET W=W/100 1170 LET T7=0 1175 IF W<0 THEN 1178 1176 IF W>=1 THEN 1178 1177 GOTO 1180 1178 PRINT"TYPE A NUMBER BETWEEN 1 AND 99." 1179 GOTO 1140 1180 IF T7<>0 THEN 1140 1190 IF L(1)=5 THEN 1590 1200 IF C=14 THEN 880 1210 LET C=C-10 1220 GOTO 880 1230 IF D<95 THEN 960 1240 PRINT"BALL HIT TREE - BOUNCED INTO ROUGH";D-75;" YARDS FROM HOLE" 1250 LET D=D-75 1260 GOTO 480 1270 IF O<30 THEN 1450 1271 IF J>0 THEN 1450 1280 IF T>0 THEN 1340 1290 IF (S2+1)/15=INT((S2+1)/15) THEN 1350 1300 PRINT "YOU HOOKED-"; 1310 LET L(1)=L(3) 1320 IF O>45 THEN 1380 1330 GOTO 410 1340 IF (S2+1)/15=INT((S2+1)/15) THEN 1300 1350 PRINT "YOU SLICED-"; 1360 LET L(1)=L(2) 1370 GOTO 1320 1380 PRINT "BADLY." 1390 GOTO 410 1400 LET L(1)=5 1410 GOTO 410 1420 LET L(1)=8 1430 LET D2=INT(D2*3) 1440 GOTO 1680 1450 LET L(1)=1 1460 GOTO 410 1470 LET D1=INT(2.30393E-20*D1) 1480 GOTO 920 1490 IF L(1)>6 THEN 1570 1500 PRINT "YOUR SHOT WENT INTO WATER." 1510 LET S1=S1+1 1520 PRINT "PENALTY STROKE ASSESSED. HIT FROM PREVIOUS LOCATION." 1530 LET J=J+1 1540 LET L(1)=1 1550 LET D=B 1560 GOTO 480 1570 PRINT "YOUR SHOT WENT OUT OF BOUNDS." 1580 GOTO 1510 1590 IF T=3 THEN 1620 1600 LET D2=1+(3*INT((80/(40-H))*RND(X1))) 1610 GOTO 1680 1620 IF RND(X1)>N THEN 1660 1630 LET N=N*1.0842E-20 1640 PRINT"SHOT TOPPED, STILL IN TRAP." 1650 GOTO 480 1660 LET N=2.1684E-20 1670 GOTO 1600 1680 PRINT"ON GREEN";D2;" FEET FROM PIN. PUTT POTENCY NUMBER:"; 1690 INPUT I 1700 LET T7=0 1705 IF I>=5+E-12 THEN 1710 1706 GOSUB 2320 1710 IF T7<>0 THEN 1680 1720 LET S1=S1+1 1730 IF S1+1-P>(H*-3.90313E-21)+2 THEN 1800 1740 IF K>2 THEN 1800 1750 LET K=K+1 1760 IF T=4 THEN 1860 1770 LET D2=D2-I*(4+2*RND(X1))+-2.03288E-20 1780 IF D2<-2 THEN 1880 1790 IF D2>2 THEN 1830 1800 PRINT "YOU H*O*L*E*D IT" 1810 LET F=F+1 1820 GOTO 240 1830 PRINT"PUTT SHORT. "; 1840 LET D2=INT(D2) 1850 GOTO 1680 1860 LET D2=D2-I*(4+RND(X1))+1 1870 GOTO 1780 1880 PRINT"PASSED BY CUP. "; 1890 LET D2=-D2 1900 GOTO 1840 1910 READ D,P,L(2),L(3) 1920 PRINT"CALL IT A DAY! (1=YES, 0=NO.):"; 1930 INPUT O 1940 IF O=1 THEN 2060 1950 LET T5=T5+P 1955 PRINT 1960 PRINT"YOU ARE AT TEE OFF HOLE ";F;", DISTANCE";D;" YARDS PAR";P 1970 PRINT "ON YOUR RIGHT IS "; 1980 LET X=2 1990 GOSUB 2150 1995 LET X=3 2000 PRINT "ON YOUR LEFT IS "; 2010 GOSUB 2150 2015 PRINT 2020 GOTO 480 2030 DATA 361,4,4,2,389,4,3,3,206,3,4,2,500,5,7,2,408,4,2,4,359,4,6,4 2040 DATA 424,4,4,2,388,4,4,4,196,3,7,2,400,4,7,2,560,5,7,2,132,3,2,2 2050 DATA 357,4,4,4,294,4,2,4,475,5,2,3,375,4,4,2,180,3,6,2,550,5,6,6 2060 PRINT"TOTAL SCORE FOR ";F-1;" HOLES WAS";S2 2070 IF S2<>T5 THEN 2100 2080 PRINT "PAR GAME" 2090 STOP 2100 IF S2-T5>0 THEN 2130 2110 PRINT -(S2-T5);" UNDER PAR" 2120 STOP 2130 PRINT S2-T5;" OVER PAR" 2140 STOP 2150 IF L(X)<1 THEN 2160 2151 IF L(X)>6 THEN 2160 2152 IF L(X)=1 THEN 2200 2155 IF L(X)=2 THEN 2220 2156 IF L(X)=3 THEN 2240 2157 IF L(X)=4 THEN 2260 2158 IF L(X)=5 THEN 2280 2159 IF L(X)=6 THEN 2300 2160 PRINT"OUT OF BOUNDS."; 2170 RETURN 2180 PRINT "PGA RULES HANDICAP=0-30" 2190 GOTO 80 2200 PRINT"FAIRWAY."; 2210 RETURN 2220 PRINT"ROUGH."; 2230 RETURN 2240 PRINT"TREES."; 2250 RETURN 2260 PRINT"ADJACENT FAIRWAY."; 2270 RETURN 2280 PRINT"TRAP."; 2290 RETURN 2300 PRINT"WATER."; 2310 RETURN 2320 PRINT"FOR A DESCRIPTION OF CLUBS, TYPE 0 FOR CLUB NO. WHEN REQUESTED." 2330 LET T7=9 2340 RETURN 2350 END «eof»