|
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: 4224 (0x1080) Types: TextFile Names: »GOLF1.BAS«
└─⟦69a509965⟧ Bits:30005211 CR8 BASIC Games └─ ⟦this⟧ »GOLF1.BAS«
1 REM PROGRAM GOLF.BAS 10 DIM B(11) 20 PRINT TAB(8);"GOLF THE LAZY WAY" 30 PRINT TAB(8);"*****************" 40 PRINT 50 RANDOMIZE 60 PRINT "CAN YOU PLAY GOLF WITH THE COMPUTER?", 70 INPUT Q$ 80 IF Q$="YES" THEN 450 90 PRINT TAB(8);"GAME INSTRUCTIONS" 100 PRINT 110 PRINT "YOUR BAG CONTAINS THE FOLLOWING CLUBS" 120 PRINT TAB(6);"1 WOOD CODE 1" 130 PRINT TAB(6);"3 WOOD CODE 2" 140 PRINT TAB(6);"3 IRON CODE 3" 150 PRINT TAB(6);"5 IRON CODE 5" 160 PRINT TAB(6);"7 IRON CODE 7" 170 PRINT TAB(6);"8 IRON CODE 8" 180 PRINT TAB(6);"9 IRON CODE 9" 190 PRINT TAB(6);"WEDGE CODE 10" 200 PRINT TAB(6);"AND OF COURSE A PUTTER" 210 PRINT "YOU SELECT THE CLUB REQUIRED BY TYPING THE CODE NO." 220 PRINT "EG. 1,2,3,ETC" 230 PRINT "PRESS 'RETURN' KEY TO PROCEED" 240 INPUT Q$ 250 PRINT 260 PRINT 270 PRINT "ALL THE GREENS ARE 20 YARDS RADIUS. YOU SELECT THE" 280 PRINT "LENGTH OF YOUR PUTT BY TYPING THE FOLLOWING CODES" 290 PRINT TAB(6);"1 YARD 'GIMMIE' CODE 1" 300 PRINT TAB(6);"VERY SHORT CODE 2" 310 PRINT TAB(6);"MEDIUM CODE 3" 320 PRINT TAB(6);"LONG CODE 4" 330 PRINT TAB(6);"VERY LONG CODE 5" 340 PRINT 350 PRINT "IF YOU DECIDE TO STOP PLAY BEFORE THE BALL IS HOLED" 360 PRINT "A PENALTY OF UP TO 6 SHOTS MAY BE IMPOSED DEPENDING" 370 PRINT "ON THE DISTANCE LEFT" 380 PRINT 390 PRINT "THE COMPUTER WILL REQUEST THE TYPE OF STROKE REQUIRED" 400 PRINT "AND THE CLUB SELECTED AS THE GAME PROCEEDS" 410 PRINT 420 PRINT 430 PRINT 440 PRINT 450 READ B(1),B(2),B(3),B(5),B(7),B(8),B(9),B(10),H(1),H(2),H(3) 460 READ M(1),M(2),M(3),M(4),M(5),Z(1),Z(2),Z(3) 470 READ P(1),P(2),P(3),P(4),P(5),P(6) 480 DATA 250,210,180,150,120,110,100,60,358,185,496,1,2,5,10,20,4,3,5 490 DATA 350,186,101,20,11,2 500 LET U=0 510 FOR I=1 TO 3 520 X=0 Ø Y=0 Ø W=0 Ø N=0 530 PRINT 540 PRINT "HOLE ";I;"LENGTH ";H(I);"YARDS PAR ";Z(I) 550 LET T=H(I) 560 PRINT "TYPE 1 FOR FULL SHOT, 2 FOR APPROACH SHOT, 3 FOR STOP", 570 INPUT S 580 IF S<0 THEN 600 590 IF S<4 THEN 620 600 PRINT "PLEASE SELECT STROKE OR STOP" 610 GO TO 560 620 IF S=3 THEN 1140 630 IF N=1 THEN 690 640 PRINT "WHICH CLUB?", 650 INPUT J 660 IF J>0 AND J<11 AND J<>4 AND J<>6 THEN 710 670 PRINT "THIS CLUB IS NOT IN THE BAG" 680 GO TO 640 690 PRINT "WEDGE USED" 700 LET J=10 710 LET C=B(J) 720 N=INT(RND*12)+1 730 IF S=1 THEN 750 740 LET C=.5*C 750 ON N GO TO 870,760,790,870,870,870,820,850,870,870,870,870 760 PRINT "SLICED SHOT" 770 LET C=.4*C 780 GO TO 870 790 PRINT "SLIGHT FADE" 800 LET C=.9*C 810 GO TO 870 820 PRINT "SLIGHT DRAW" 830 LET C=.7*C 840 GO TO 870 850 PRINT "HOOKED SHOT" 860 LET C=.6*C 870 LET X=X+1 880 LET T=ABS(T)-C 890 IF INT(T)<>0 THEN 920 900 PRINT "EXCELLENT SHOT" 910 GO TO 1180 920 IF ABS(T)>20 THEN 950 930 PRINT "ON THE GREEN" 940 GO TO 1010 950 IF N<>1 THEN 980 960 PRINT "BUNKERED" 970 GO TO 1010 980 IF N<>9 THEN 1010 990 PRINT "UNPLAYABLE LIE, PENALTY 1 SHOT" 1000 LET W=W+1 1010 GOSUB 1420 1020 IF ABS(T)>20 THEN 560 1030 PRINT "PUTT LENGTH?, TYPE 0 TO STOP", 1040 INPUT J 1050 IF J=0 THEN 1140 1060 IF J<6 THEN 1090 1070 PRINT "SELECT PUTT LENGTH CODE" 1080 GO TO 1030 1090 LET Y=Y+1 1100 LET T=INT(ABS(T)-M(J)) 1110 IF INT(T)=0 THEN 1180 1120 GOSUB 1420 1130 GO TO 1030 1140 FOR K=1 TO 6 1150 IF ABS(T)<P(K) THEN 1170 1160 LET W=W+1 1170 NEXT K 1180 LET L(I)=X+Y+W 1190 PRINT "SHOTS ";X;"PUTTS ";Y;"PENALTIES ";W 1200 LET U=U+L(I) 1210 NEXT I 1220 LET U=(U-12)*6 1230 PRINT 1240 PRINT "HANDICAP AWARDED "; 1250 IF U<1 THEN 1300 1260 IF U<25 THEN 1280 1270 LET U=24 1280 PRINT U 1290 GO TO 1310 1300 PRINT "SCRATCH" 1310 PRINT 1320 PRINT TAB(8);"SCORE CARD" 1330 FOR I=1 TO 3 1340 PRINT "HOLE ";I;"LENGTH ";H(I);"YARDS PAR ";Z(I);"SCORE ";L(I) 1350 NEXT I 1360 PRINT 1370 PRINT "LIKE ANOTHER TRY?", 1380 INPUT Q$ 1390 IF Q$="YES" THEN 500 1400 PRINT "THANKS FOR THE GAME, SEE YOU AT THE 19TH HOLE!" 1410 GO TO 1470 1420 PRINT "DISTANCE LEFT= ";ABS(INT(T));"YARDS"; 1430 IF T>0 THEN 1450 1440 PRINT " BEYOND THE FLAG"; 1450 PRINT 1460 RETURN 1470 END «eof»