DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦fa1758dd4⟧ TextFile

    Length: 4224 (0x1080)
    Types: TextFile
    Names: »GOLF1.BAS«

Derivation

└─⟦69a509965⟧ Bits:30005211 CR8 BASIC Games
    └─ ⟦this⟧ »GOLF1.BAS« 

TextFile

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»