[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference 7.286::golf

Title:Welcome to the Golf Notes Conference!
Notice:FOR SALE notes in Note 69 please! Intros in note 863 or 61.
Moderator:FUNYET::ANDERSON
Created:Tue Feb 15 1994
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:2129
Total number of notes:21499

127.0. "Question on Handicap." by MTBLUE::FREEMAN_KEVI () Mon Jul 13 1987 18:26

	In regards, to note 27 (Handicap Programs) I've developed a program
	in DCL that helps an individual keep track of his/her scores through-
	out history :^) as well as an individuals handicap.  However Jim and
	myself have run into a technical question concerning USGA's inter-
	pretation of "Ten Best Scores" (of your latest 20 scores) how is this
	"Best score Determined" given the following situation,


           shot  44.00           shot  43.00
  course rating -35.50  course rating -32.25
                 -----                 -----
                  8.50                 10.75

	43 is the lower score so should it be considered the "Better" score or
	44 since the course played was considered more difficult due to the
	higher course rating.  And also there is some confusion in regards to
	"Home course" ratings and including scores shot at non-home courses into
	the handicap formula.  Thanks in advance for any help.

						Regards, Kevin F.

P.s.  Program as it stands now follows in the next reply, for those interested.
T.RTitleUserPersonal
Name
DateLines
127.1Systems out ta lunch, Here's anouther ext/nohead schedule.comMTBLUE::FREEMAN_KEVIMon Jul 13 1987 22:53156
$ ON CONTROL_Y THEN EXIT
$ SAY:== WRITE SYS$OUTPUT
$ !CLEAR SCREEN
$ SAY ""
$ !CURSOR HOME
$ SAY ""
$PIG:
$ SAY "     This is a program that will make a schedule dependent on the number of"
$ SAY "players or teams.  Since an odd number will result in a player/team having"
$ SAY "a Bye once in the season, if your total number of players/teams is even, you"
$ SAY "must deside if they too will have a Bye.   Note also that with an even #"
$ SAY "of players/teams and a choice of the bye for their league, every other week"
$ SAY "two people/teams will have the bye.  Everyone still gets a bye!  Good Luck"
$ SAY "with your Leagues.                Regards, Kevin Freeman DTN 271-6673"
$ SAY ""
$ INQUIRE/NOPUNCT FIL "What is the name of the schedule file you wish to make? "
$ FIL = "''FIL'" - ";"
$ TEMP = F$LENGTH(FIL)
$ TEMP1 = F$LOCATE(".",FIL)
$ IF TEMP .EQS. TEMP1 THEN FIL = "''FIL'" + ".SCH"
$ CREATE 'FIL
$ ON CONTROL_Y THEN GOTO Z4
$ INQUIRE/NOPUNCT RIGHT "How many players or teams? "
$ FIX3 = "B"
$ variable_name = RIGHT
$ IF variable_name THEN GOTO FIX1
$ IF .NOT. variable_name THEN GOTO FIX2
$FIX1:
$ ON CONTROL_Y THEN GOTO Z5
$ SAY ""
$ T1 = 'RIGHT
$ !IF T1 .GT. 'RIGHT THEN GOTO A1
$ T2 = 'RIGHT + 1
$A1:
$ IF T1 .LT. 20 THEN GOTO B1
$ IF T1 .LT. 33 THEN GOTO Z3
$ SAY ""
$ SAY "I can only make a schedule with 32 or less players/teams, Sorry!"
$ SAY ""
$ DELETE 'FIL;
$ GOTO PIG
$Z5:
$ CLOSE OUT
$Z4:
$ DELETE 'FIL;
$ EXIT
$Z3:
$ SET TERM/WIDTH=130
$ SAY ""
$ SAY "Your choice of #'s of players or teams results in too many characters per"
$ SAY "line so when you wish to print or view the schedule you will have to set"
$ SAY "your terminal for 132 characters; use this command   SET TERM/WIDTH=130 "
$ SAY "and   SET TERM/WIDTH=80  to get your terminal back to 80 characters."
$B1:
$ SAY ""
$ SAY "Working........."
$ OPEN/WRITE OUT 'FIL
$ B = 2
$ A = 1
$ C = 1
$ D = " ''C' "
$ !F == "---|"
$A2:
$ C = C + 1
$ !F = F + "---|"
$ IF C .LT. 10 THEN GOTO B2
$ D = D + "|" + " ''C'"
$ GOTO B3
$B2:
$ D = D + "|" + " ''C' "
$B3:
$ IF C .NES. T1 THEN GOTO A2
$ D = D + "|" + " ''FIX3' "
$ !F = F + "---"
$ WRITE OUT D
$ !WRITE OUT F
$ C = 1
$A3:
$ !E == "---|"
$ G = 0
$ !F = E
$ A = 1
$ IF B .LT. 10 THEN GOTO C1
$ D = " ''B'"
$ GOTO A4
$C1:
$ D = " ''B' "
$A4:
$ IF B .EQS. T2 THEN GOTO BYE
$ IF T1 .NES. A THEN GOTO A5
$ IF B .EQS. C THEN GOTO X1
$ D = D + "|" + " ''C'"
$ GOTO X2
$X1:
$ D = D + "|" + " ''FIX3'"
$X2:
$ WRITE OUT D
$ !WRITE OUT F
$!DONE ROW
$ B = B + 1
$ G = G + 1
$ GOTO A3
$A5:
$ IF B .NES. 1 THEN GOTO A8
$ B = B + 1
$ GOTO A6
$A8:
$ IF T2 .NES. C THEN GOTO A6
$ C = 1
$A6:
$ IF B .NES. C THEN GOTO A7
$ IF FIX3 .LT. 10  THEN D= D + "|" + " ''FIX3' "
$ IF FIX3 .GT. 9 THEN D = D + "|" + " ''FIX3'"
$ !D = D + "|" + " ''FIX3' "
$ !F = F + "---|"
$ A = A + 1
$ C = C + 1
$ GOTO A4
$A7:
$ IF C .LT. 10 THEN GOTO B4
$ D = D + "|" + " ''C'"
$ GOTO B5
$B4:
$ D = D + "|" + " ''C' "
$B5:
$ !F = F + "---|"
$ A = A + 1
$ C = C + 1
$ GOTO A4 
$BYE:
$ CLOSE OUT
$ IF T1 .GT. 19 THEN GOTO Z1
$ !SAY "This is what your schedule looks like, it's in 80 character's per line mode."
$ SAY "Hit a Return and you can view what it looks like.  If you have a VT100 with"
$ SAY "the Advanced Video Option or better, the schedule will have underlines."
$ SAY "Note...they may not appear on all printers as well.  LN03 works great!"
$ SAY ""
$ INQUIRE/NOPUNCT HOLD "Hit a Return to view!  "
$ TYPE 'FIL
$ INQUIRE/NOPUNCT HOLD "Hit a Return to exit!  "
$ PURGE 'FIL
$ EXIT
$Z1:
$ INQUIRE/NOPUNCT HOLD "Hit a Return to view!  "
$ SET TERM/WIDTH=130
$ TYPE 'FIL
$ INQUIRE/NOPUNCT HOLD "Hit a Return to exit!  "
$ SET TERM/WIDTH=80
$ PURGE 'FIL
$ EXIT
$FIX2:
$ INQUIRE/NOPUNCT SELEC "Selection = even Number of Players, do wish for them to have a Bye (Y/<N>) "
$ IF SELEC .EQS. "Y" THEN FIX3 = "B"
$ IF SELEC .NES. "Y" THEN FIX3 = RIGHT
$ IF SELEC .NES. "Y" THEN RIGHT = RIGHT - 1
$ GOTO FIX1
127.2At last....Latest version V1 please notify if any bugs.MTBLUE::FREEMAN_KEVITue Jul 14 1987 18:130
127.3Man... Thats what happens when you freeze dry your Brain.MTBLUE::FREEMAN_KEVITue Jul 14 1987 18:20358
$START:
$ ! if you have a GOLF.DIR or want to make one... after doing so take out 
$ ! the !'s below and at lable BYE:
$ !STORE = F$DIRECTORY()
$ !SET DEFAULT SYS$LOGIN
$ !CAR = F$DIRECTORY() - "]" + ".GOLF]"
$ !SET DEFAULT 'CAR
$ SET NOVERIFY
$ SAY:==WRITE SYS$OUTPUT
$ TEMP = F$SEARCH("GOLF.TXT")
$ IF TEMP .NES. "" THEN GOTO NOBLD   !if goto NOBLD then file already exist
$ CREATE GOLF.TXT
$ CREATE HANDI.CAP
$NOBLD:
$ SAY ""
$ SAY ""
$ SAY "     COMMAND PROCEDURE TO KEEP TRACK OF YOUR GOLF SCORES."
$ SAY ""
$ SAY ""
$Z1:
$ SAY ""
$ SAY "(A)-Add Scores, (L)-List Scores, (S)-Show Handicap"
$ INQUIRE/NOPUNC BEGIN "(I)-Intro, (C)-Change Defaults, or (E)-Exit? "
$ IF BEGIN .EQS. "A" THEN GOTO ADD
$ IF BEGIN .EQS. "L" THEN GOTO LST
$ IF BEGIN .EQS. "S" THEN GOTO A8
$ IF BEGIN .EQS. "E" THEN GOTO BYE
$ IF BEGIN .EQS. "I" THEN GOTO INTRO
$ IF BEGIN .EQS. "C" THEN GOTO CHANGE
$ GOTO Z1
$ADD:
$ INQUIRE/NOPUNC COURSE "Name of course? (MEADOWHILL) "
$ IF COURSE .EQS. "" THEN COURSE = "MEADOWHILL"
$ IF COURSE .EQS. "MEADOWHILL" THEN H2 = "33.25"
$ IF COURSE .EQS. "MEADOWHILL" THEN GOTO A7
$ INQUIRE/NOPUNCT H2 "What is the course rating for ''COURSE'? "
$ H3 = F$LENGTH(H2)
$ IF H3 .EQS. 4 THEN H2 = H2 + "0"
$ IF H3 .EQS. 2 THEN H2 = H2 + ".00"
$ IF H3 .EQS. 3 THEN GOTO ADD
$ IF H3 .LT. 2 THEN GOTO ADD
$ IF H3 .GT. 5 THEN GOTO ADD
$A7:
$ COURSE1 = ''COURSE'
$ COURSE2 = COURSE1 + "                    "
$ COURSE3 = F$EXTRACT(0,20,COURSE2)
$FNT:
$ SAY ""
$ INQUIRE/NOPUNC SCORE "Adjusted Score @ ''COURSE' on the Front? Return = not played. "
$ IF SCORE .EQS. "" THEN GOTO FNT1
$ IF SCORE .LT. 25 THEN GOTO BULL
$ IF SCORE .GT. 56 THEN GOTO BD
$ IF SCORE .LT. 39 THEN GOTO GT
$ GOTO GD
$BD:
$ SAY ""
$ SAY "Musta been that ChileDog aye!"
$ GOTO FNT1
$GT:
$ SAY ""
$ SAY "Great Round aye!"
$ GOTO FNT1
$GD:
$ SAY ""
$ SAY "Good Round."
$FNT1:
$ SCORE1 = ''SCORE'
$ SCORE2 = SCORE1 + "   "
$ SCORE3 = F$EXTRACT(0,3,SCORE2)
$ GOTO BACK
$BULL:
$ SAY ""
$ SAY "Right! OK Mr. Muligan!"
$ GOTO FNT
$BACK:
$ SAY ""
$ INQUIRE/NOPUNC NINE "Adjusted Score @ ''COURSE' on the Back? Return = not played. "
$ BACK9 = "''NINE'"
$ IF BACK9 .EQS. "" THEN GOTO BCK1
$ IF BACK9 .LT. 25 THEN GOTO BULL1
$ IF BACK9 .GT. 56 THEN GOTO BD1
$ IF BACK9 .LT. 39 THEN GOTO GT1
$ GOTO GD1
$BD1:
$ SAY ""
$ SAY "Musta been that ChileDog aye!"
$ GOTO FIRST1
$GT1:
$ SAY ""
$ SAY "Great Round aye!"
$ GOTO FIRST1
$GD1:
$ SAY ""
$ SAY "Good Round."
$ GOTO FIRST1
$BCK1:
$ IF SCORE .NES. "" THEN GOTO FIRST1
$ IF NINE .NES. "" THEN GOTO FIRST1
$ ! Must have not entered any scores
$ SAY ""
$ SAY "You must be practicing this program or made a mistake!"
$ GOTO RESTART
$BULL1:
$ SAY ""
$ SAY "Right! Get serious!"
$ GOTO BACK
$FIRST1:
$ TEMP = ''NINE'
$ TEMP1 = TEMP + "   "
$ BACK9 = F$EXTRACT(0,3,TEMP1)
$FIRST:
$ CREATE FIX.TXT
$ OPEN/APPEND GOLF_TXT FIX.TXT
$ IF SCORE .EQS. "" THEN SCORE = 0
$ IF NINE .EQS. "" THEN NINE = 0
$ TOT = 'SCORE + 'NINE
$ IF TOT .GT. 99 THEN GOTO OPPS
$ WRITE GOLF_TXT "''COURSE3'         ''SCORE3'                   ''BACK9'            ''TOT'"
$ GOTO OPPS1
$OPPS:
$ WRITE GOLF_TXT "''COURSE3'         ''SCORE3'                   ''BACK9'           ''TOT'"
$OPPS1:
$ OPEN GOLF1 GOLF.TXT
$OPPS2:
$ READ/END_OF_LINE=EOL4 GOLF1 FIX1
$ WRITE GOLF_TXT FIX1
$ GOTO OPPS2
$EOL4:
$ CLOSE GOLF1
$ CLOSE GOLF_TXT
$ PURGE FIX.TXT
$ RENAME FIX.TXT GOLF.TXT
$ PURGE GOLF.TXT
$ SAY ""
$ SAY "Figuring your Handicap......"
$ IF SCORE .NES. 0 THEN GOTO A4
$ GOTO A6
$A4:
$ H1 = SCORE
$ GOSUB A3
$A6:
$ IF NINE .NES. 0 THEN GOTO A5
$ SAY ""
$ SAY "Your Handicap is now ''HAN1'.''HAN2'"
$ GOTO RESTART
$A5:
$ H1 = NINE
$ GOSUB A3
$ SAY ""
$ SAY "Your Handicap is now ''HAN1'.''HAN2'"
$ GOTO RESTART
$A3:
$ H4 = "''H2'" - "."
$ H3 = (H1 * 100) - H4
$ IF H3 .LT. 1000 THEN H3 = " " + "''H3'"
$ H5 = F$EXT(0,2,H3)
$ H6 = F$EXT(2,2,H3)
$ H7 = "''H5'" + "." + "''H6'"
$ CREATE TEMP.TXT
$ CNT = 1
$ OPEN/APPEND TEMP TEMP.TXT
$ OPEN TEMP1 HANDI.CAP
$ WRITE TEMP "''H1'     ''H2'     ''H7'"
$A1:
$ READ/END_OF_LINE=EOL1 TEMP1 TEMP2
$ WRITE TEMP TEMP2
$ CNT = CNT + 1
$ IF CNT .EQS. 20 THEN GOTO EOL1
$ GOTO A1
$EOL1:
$ CLOSE TEMP
$ CLOSE TEMP1
$ IF CNT .LT. 2 THEN CNT = 2
$ CNT1 = CNT / 2
$ MAN = "''CNT1'"
$ MAN1 = "''CNT1'"
$ RENAME TEMP.TXT HANDI.CAP
$ ! use /KEY=(POSITION:1,SIXE:2) if ruling is only one home course
$ !SORT/KEY=(POSITION:1,SIZE:2) HANDI.CAP TEMP.TXT
$ SORT/KEY=(POSITION:17,SIZE:5) HANDI.CAP TEMP.TXT
$ OPEN TEMP TEMP.TXT
$ ACT = 0
$ CRS = 0
$A2:
$ READ TEMP TEMP1
$ TEMP2 = "''TEMP1'"
$ TEMP3 = F$EXT(0,2,TEMP2) * 100
$ TEMP4 = F$EXT(7,5,TEMP2) - "."
$ MAN = MAN - 1
$ ACT = ACT + TEMP3
$ CRS = CRS + TEMP4
$ IF MAN .NES. 0 THEN GOTO A2
$ HAN = (('ACT - 'CRS) / 'MAN1) * 96
$ HAN1 = F$EXT(0,F$LENGTH(HAN)-4,HAN)
$ HAN2 = F$EXT(F$LENGTH(HAN)-4,2,HAN)
$ CLOSE TEMP
$ PURGE TEMP.TXT
$ PURGE HANDI.CAP
$ DELETE TEMP.TXT;
$ RETURN 1
$RESTART:
$ SAY ""
$ INQUIRE/NOPUNC AGAIN "Do you have another entry to make (Y/<N>)? "
$ IF AGAIN .EQS. "Y" THEN GOTO ADD
$ SAY ""
$ INQUIRE/NOPUNC DISPLAY "Do you want to see your scores (N/<Y>)? "
$ IF DISPLAY .NES. "N" THEN GOTO LST
$ SAY ""
$ SAY "Thank You for Updating The Personal Golf File!"
$ SAY ""
$ GOTO BYE
$LST:
$ SAY ""
$ COPY GOLF.TXT TEMP.TXT
$ INQUIRE/NOPUNCT SRT "Sorted by?  F-Front, B-Back, T-Total, C-Course, <O>-Order Played "
$ IF SRT .EQS. "T" THEN SORT/KEY=(POSITION:66,SIZE:3) GOLF.TXT TEMP.TXT
$ IF SRT .EQS. "F" THEN SORT/KEY=(POSITION:29,SIZE:3) GOLF.TXT TEMP.TXT
$ IF SRT .EQS. "B" THEN SORT/KEY=(POSITION:51,SIZE:3) GOLF.TXT TEMP.TXT
$ IF SRT .EQS. "C" THEN SORT/KEY=(POSITION:1,SIZE:3) GOLF.TXT TEMP.TXT
$PNT:
$ INQUIRE/NOPUNCT PNT1 "If you have a LA50 attatched do you want a Hard Copy (Y/<N>)? "
$ IF PNT1 .EQS. "Y" THEN GOTO PNT2
$FIX2:
$ SAY ""
$ SAY ""
$ SAY "#6Personal Golf Scores"
$ SAY "#6--------------------"
$ SAY "-NAME OF COURSE        FRONT 9 HOLES          BACK 9 HOLES      TOTAL-"
$ SAY "---------------        -------------          ------------      ------"
$ SAY ""
$ OPEN TEMP TEMP.TXT
$ COUNT1 = 17
$FIX1:
$ READ/END_OF_LINE=DONE1 TEMP TEMP2
$ SAY TEMP2
$ COUNT1 = COUNT1 - 1
$ IF COUNT1 .NES. 0 THEN GOTO FIX1
$ INQUIRE/NOPUNCT TOF1 "Hit a return to view others. "
$ GOTO FIX2
$DONE1:
$ CLOSE TEMP
$DONE2:
$ PURGE TEMP.TXT
$ DEL TEMP.TXT;
$ GOTO Z1
$A8:
$ SAY ""
$ SAY "Working......"
$ CREATE TEMP.TXT
$ CNT = 0
$ OPEN TEMP1 HANDI.CAP
$A9:
$ READ/END_OF_LINE=EOL2 TEMP1 TEMP2
$ CNT = CNT + 1
$ GOTO A9
$EOL2:
$ CLOSE TEMP1
$ IF CNT .LT. 2 THEN CNT = 2
$ CNT1 = CNT / 2
$ MAN = "''CNT1'"
$ MAN1 = "''CNT1'"
$ SORT/KEY=(POSITION:1,SIZE:2) HANDI.CAP TEMP.TXT
$ OPEN TEMP TEMP.TXT
$ ACT = 0
$ CRS = 0
$A10:
$ READ TEMP TEMP1
$ TEMP2 = "''TEMP1'"
$ TEMP3 = F$EXT(0,2,TEMP2) * 100
$ TEMP4 = F$EXT(7,5,TEMP2) - "."
$ MAN = MAN - 1
$ ACT = ACT + TEMP3
$ CRS = CRS + TEMP4
$ IF MAN .NES. 0 THEN GOTO A10
$ HAN = (('ACT - 'CRS) / 'MAN1) * 96
$ HAN1 = F$EXT(0,F$LENGTH(HAN)-4,HAN)
$ HAN2 = F$EXT(F$LENGTH(HAN)-4,2,HAN)
$ CLOSE TEMP
$ SAY ""
$ SAY "Your Handicap is ''HAN1'.''HAN2'"
$ PURGE TEMP.TXT
$ PURGE HANDI.CAP
$ DELETE TEMP.TXT;
$ GOTO Z1
$INTRO:
$ SAY "                 Kevin Freeman --- Author"
$ SAY "            COMMAND FILE TO KEEP TRACK OF MY GOLF SCORES"
$ SAY "  Creates a file called GOLF.TXT to keep track of your golf History."
$ SAY "  It appends the addition you make to the file, so they are appended"
$ SAY "  in the order in which you played them through out eternity. :-)"
$ SAY "  It also creates a file called HANDI.CAP to store up to as many as 20"
$ SAY "  of your most resent scores.  The USGA formula is as follows."
$ SAY "  1/2 of your most resent scores (not to exceed 20) added together and"
$ SAY "  then divided by the number of rounds, as well as 1/2 the course ratings "
$ SAY "  totals again divided by number of rounds both yielding an average number."
$ SAY "  Subtract the lower number from the Higher and multiply by .96"
$ SAY "  example, Your HANDI.CAP file contains a history of the maximum 20 scores."
$ SAY "  1/2 = 10, so take your top 10 scores and add to get a total, and the course"
$ SAY "  ratings totals for the same 10 scores and then divide each of the totals by"
$ SAY "  10.  In the case of "Us" amateurs we would have to subtract the course"
$ SAY "  ratings average from the 10 scores average and then Multiply the resultant"
$ SAY "  by .96      Confusing?  yes      Regards, Kevin F."
$ GOTO Z1
$CHANGE:
$ INQUIRE/NOPUNCT NEW "New Course Name for Default? "
$ INQUIRE/NOPUNCT RATE "New Course Rating for 9 holes for Default? "
$ H3 = F$LENGTH(RATE)
$ IF H3 .EQS. 4 THEN H2 = H2 + "0"
$ IF H3 .EQS. 2 THEN H2 = H2 + ".00"
$ IF H3 .EQS. 3 THEN GOTO CHANGE
$ IF H3 .LT. 2 THEN GOTO CHANGE
$ IF H3 .GT. 5 THEN GOTO CHANGE
$ CREATE TEMP.COM
$ OPEN GOLF GOLF.COM
$ OPEN/APPEND TEMP TEMP.COM
$CHANGE2:
$ READ/END_OF_LINE=EOL3 GOLF GOLF1
$ IF GOLF1 .EQS. "$ADD:" THEN GOTO CHANGE1
$ WRITE TEMP GOLF1
$ GOTO CHANGE2
$CHANGE1:
$ WRITE TEMP GOLF1
$ WRITE TEMP "$ INQUIRE/NOPUNC COURSE ""Name of course? (''NEW') ""
$ WRITE TEMP "$ IF COURSE .EQS. """" THEN COURSE = ""''NEW'""
$ WRITE TEMP "$ IF COURSE .EQS. ""''NEW'"" THEN H2 = ""''RATE'""
$ WRITE TEMP "$ IF COURSE .EQS. ""''NEW'"" THEN GOTO A7"
$ READ/END_OF_LINE=EOL3 GOLF GOLF1
$ READ/END_OF_LINE=EOL3 GOLF GOLF1
$ READ/END_OF_LINE=EOL3 GOLF GOLF1
$ READ/END_OF_LINE=EOL3 GOLF GOLF1
$CHANGE4:
$ READ/END_OF_LINE=EOL3 GOLF GOLF1
$ WRITE TEMP GOLF1
$ GOTO CHANGE4
$EOL3:
$ CLOSE TEMP 
$ CLOSE GOLF
$ PURGE TEMP.COM
$ RENAME TEMP.COM GOLF.COM
$ PURGE GOLF.COM
$ RENAME GOLF.COM GOLF.COM;1
$BYE:
$ !SET DEFAULT 'STORE
$ EXIT
$PNT2:
$ CREATE HLD.TXT
$ OPEN/APPEND HLD HLD.TXT
$ WRITE HLD "             P e r s o n a l   G o l f   S c o r e s"
$ WRITE HLD "             ---------------------------------------"
$ WRITE HLD ""
$ WRITE HLD "-NAME OF COURSE        FRONT 9 HOLES          BACK 9 HOLES      TOTAL-"
$ WRITE HLD "---------------        -------------          ------------      ------"
$ WRITE HLD ""
$ CLOSE HLD
$ APPEND TEMP.TXT HLD.TXT
$ @SYS$PUBLIC:PRINTLA50 HLD.TXT
$ DEL HLD.TXT;
$ GOTO DONE2
127.4Version 1.1 Messed up sorting for Showing Handicap.MTBLUE::FREEMAN_KEVITue Jul 14 1987 19:42146
$START:
$ ! if you have a GOLF.DIR or want to make one... after doing so take out 
$ ! the !'s below and at lable BYE:
$ !STORE = F$DIRECTORY()
$ !SET DEFAULT SYS$LOGIN
$ !CAR = F$DIRECTORY() - "]" + ".GOLF]"
$ !SET DEFAULT 'CAR
$ SET NOVERIFY
$ SAY:==WRITE SYS$OUTPUT
$ TEMP = F$SEARCH("GOLF.TXT")
$ IF TEMP .NES. "" THEN GOTO NOBLD   !if goto NOBLD then file already exist
$ CREATE GOLF.TXT
$ CREATE HANDI.CAP
$NOBLD:
$ SAY ""
$ SAY ""
$ SAY "     COMMAND PROCEDURE TO KEEP TRACK OF YOUR GOLF SCORES."
$ SAY ""
$ SAY ""
$Z1:
$ SAY ""
$ SAY "(A)-Add Scores, (L)-List Scores, (S)-Show Handicap"
$ INQUIRE/NOPUNC BEGIN "(I)-Intro, (C)-Change Defaults, or (E)-Exit? "
$ IF BEGIN .EQS. "A" THEN GOTO ADD
$ IF BEGIN .EQS. "L" THEN GOTO LST
$ IF BEGIN .EQS. "S" THEN GOTO A8
$ IF BEGIN .EQS. "E" THEN GOTO BYE
$ IF BEGIN .EQS. "I" THEN GOTO INTRO
$ IF BEGIN .EQS. "C" THEN GOTO CHANGE
$ GOTO Z1
$ADD:
$ INQUIRE/NOPUNC COURSE "Name of course? (MEADOWHILL) "
$ IF COURSE .EQS. "" THEN COURSE = "MEADOWHILL"
$ IF COURSE .EQS. "MEADOWHILL" THEN H2 = "33.25"
$ IF COURSE .EQS. "MEADOWHILL" THEN GOTO A7
$ INQUIRE/NOPUNCT H2 "What is the course rating for ''COURSE'? "
$ H3 = F$LENGTH(H2)
$ IF H3 .EQS. 4 THEN H2 = H2 + "0"
$ IF H3 .EQS. 2 THEN H2 = H2 + ".00"
$ IF H3 .EQS. 3 THEN GOTO ADD
$ IF H3 .LT. 2 THEN GOTO ADD
$ IF H3 .GT. 5 THEN GOTO ADD
$A7:
$ COURSE1 = ''COURSE'
$ COURSE2 = COURSE1 + "                    "
$ COURSE3 = F$EXTRACT(0,20,COURSE2)
$FNT:
$ SAY ""
$ INQUIRE/NOPUNC SCORE "Adjusted Score @ ''COURSE' on the Front? Return = not played. "
$ IF SCORE .EQS. "" THEN GOTO FNT1
$ IF SCORE .LT. 25 THEN GOTO BULL
$ IF SCORE .GT. 56 THEN GOTO BD
$ IF SCORE .LT. 39 THEN GOTO GT
$ GOTO GD
$BD:
$ SAY ""
$ SAY "Musta been that ChileDog aye!"
$ GOTO FNT1
$GT:
$ SAY ""
$ SAY "Great Round aye!"
$ GOTO FNT1
$GD:
$ SAY ""
$ SAY "Good Round."
$FNT1:
$ SCORE1 = ''SCORE'
$ SCORE2 = SCORE1 + "   "
$ SCORE3 = F$EXTRACT(0,3,SCORE2)
$ GOTO BACK
$BULL:
$ SAY ""
$ SAY "Right! OK Mr. Muligan!"
$ GOTO FNT
$BACK:
$ SAY ""
$ INQUIRE/NOPUNC NINE "Adjusted Score @ ''COURSE' on the Back? Return = not played. "
$ BACK9 = "''NINE'"
$ IF BACK9 .EQS. "" THEN GOTO BCK1
$ IF BACK9 .LT. 25 THEN GOTO BULL1
$ IF BACK9 .GT. 56 THEN GOTO BD1
$ IF BACK9 .LT. 39 THEN GOTO GT1
$ GOTO GD1
$BD1:
$ SAY ""
$ SAY "Musta been that ChileDog aye!"
$ GOTO FIRST1
$GT1:
$ SAY ""
$ SAY "Great Round aye!"
$ GOTO FIRST1
$GD1:
$ SAY ""
$ SAY "Good Round."
$ GOTO FIRST1
$BCK1:
$ IF SCORE .NES. "" THEN GOTO FIRST1
$ IF NINE .NES. "" THEN GOTO FIRST1
$ ! Must have not entered any scores
$ SAY ""
$ SAY "You must be practicing this program or made a mistake!"
$ GOTO RESTART
$BULL1:
$ SAY ""
$ SAY "Right! Get serious!"
$ GOTO BACK
$FIRST1:
$ TEMP = ''NINE'
$ TEMP1 = TEMP + "   "
$ BACK9 = F$EXTRACT(0,3,TEMP1)
$FIRST:
$ CREATE FIX.TXT
$ OPEN/APPEND GOLF_TXT FIX.TXT
$ IF SCORE .EQS. "" THEN SCORE = 0
$ IF NINE .EQS. "" THEN NINE = 0
$ TOT = 'SCORE + 'NINE
$ IF TOT .GT. 99 THEN GOTO OPPS
$ WRITE GOLF_TXT "''COURSE3'         ''SCORE3'                   ''BACK9'            ''TOT'"
$ GOTO OPPS1
$OPPS:
$ WRITE GOLF_TXT "''COURSE3'         ''SCORE3'                   ''BACK9'           ''TOT'"
$OPPS1:
$ OPEN GOLF1 GOLF.TXT
$OPPS2:
$ READ/END_OF_LINE=EOL4 GOLF1 FIX1
$ WRITE GOLF_TXT FIX1
$ GOTO OPPS2
$EOL4:
$ CLOSE GOLF1
$ CLOSE GOLF_TXT
$ PURGE FIX.TXT
$ RENAME FIX.TXT GOLF.TXT
$ PURGE GOLF.TXT
$ SAY ""
$ SAY "Figuring your Handicap......"
$ IF SCORE .NES. 0 THEN GOTO A4
$ GOTO A6
$A4:
$ H1 = SCORE
$ GOSUB A3
$A6:
$ IF NINE .NES. 0 THEN GOTO A5
$ SAY ""
$ SAY "Your Handicap is now ''HAN1'.''HAN2'"
$ GOTO RESTART
$A5:
127.5The "Pond's" too big.MTBLUE::FREEMAN_KEVIThu Jul 16 1987 17:359
    I'm having some problems replying across the pond.  If any of you
    would like to have the program, please send me a message and we'll
    see if mailing it causes any problems.  V1.1 is ready and waiting.
    You'll have to delete your old files created in V1 as it's a slightly
    defferent format.  NM%RANGLY::FREEMAN_KEVI  DTN 271-6673
    
    					Regards, Kevin F.
    
    				
127.6HANDICAPS, a la USGA ....WEBSTR::WILLISThu Sep 10 1987 22:2664
    Hi Kevin,
    	I've only just found this conference, so couldn't give you an
    answer before. Did you ever get one?  In case you didn't .......
    
    As a general answer, the USGA Handicap formula is based strictly upon
    Differentials, i.e., the excess of actual score over Course Rating in
    each case - not upon the Scores themselves. The Course Rating is, in
    fact, intended to minimize the variations in difficulty in playing
    different courses, so that all scores, wherever made, can and SHOULD be
    included in all Handicap computations.  This has been the USGA practice
    for quite some time.
    
    However, just to confuse the issue, the USGA is currently advocating a
    new variable  -  SLOPE.  It has now been accepted that the Course
    Rating as previously identified can only be an indicator of playing
    difficulty  -  as it affects the SCRATCH GOLFER.  The higher
    handicapper is likely to experience much more of a problem away
    from 'home', especially if playing a hard(er) course for the first
    time.  To counteract this, the USGA has come up with the idea of a
    Slope Rating for each Course, as well as the original one; this
    new rating is also to be factored into the Handicap formula.  They have
    asked local (State) Golf Associations to reassess all Courses for
    both ratings, so that the new formula can be applied asap (NH was done
    last year).
    
    And the new formula is:
    
    	Differential  =  (Actual Score  -  Course Rating) * 113
                         --------------------------------------
    			         Slope Rating
    
         (where 113 is deemed to be the rating for "YOUR AVERAGE COURSE")
   
    The average of the 10 lowest Differentials (from the last 20 recorded)
    is still multiplied by 0.96, but now gives what is termed a "HANDICAP
    INDEX".  This has to be translated into a Handicap for the Course
    being played, when needed (using tables posted in the Clubhouse  -  if
    they're on the ball  -  or by reversing the adjustment, i.e., multiply
    the Index by Slope Rating and divide by 113).
    
    Sorry if this all sounds like gobbledygook  -  would be pleased
    to give you more info. if you need it.
    
    
    	Regards,
    	  Roger
    
    
    [Incidentally, in answer to Note 27, I too happen to have a program that
    I wrote so that I, as Handicap Chairman, might maintain the Handicaps of the
    100 or so members of the Golf Association at my club.  Originally
    written in BASIC for my on PDT, and now modified into BASIC PLUS on my
    PRO, this is fully up-to-date on all changes, like Slope, combining
    nine-hole scores to form 18s as allowed, etc.  It also allows automatic
    ESC adjustment of all scores on any course a Member may happen to
    play.  I don't think there would be any point in my trying to put
    this program up for general consumption  (I'd need to make some
    changes because it's set up for a particular club; besides, I should
    probably be concerned that it's not 100 pc 'idiot-proof').  However,
    if anyone is really interested, they can contact me by mail at
    WEBSTR::WILLIS].
    
                   
    
127.7The Pond Dried up. 8^)RANGLY::FREEMAN_KEVIThe Squeeky Wheel = NeglectMon Apr 25 1988 13:09391
$ HME = "MEADOWHILL"  ! Default Home Course
$ H2 = "33.25"        ! Default Home Course Rating
$ SAY:==WRITE SYS$OUTPUT
$ SET NOVERIFY
$START:
$ ! if you have a GOLF.DIR or want to make one... after doing so take out 
$ ! the !'s below and at lable BYE:
$ STORE = F$DIRECTORY()
$ SET DEFAULT SYS$LOGIN
$ IF F$SEARCH("GOLF.DIR") .EQS. "" THEN SAY "Creating a GOLF directory...."
$ IF F$SEARCH("GOLF.DIR") .EQS. "" THEN CREATE/DIR [.GOLF]
$ CAR = F$DIRECTORY() - "]" + ".GOLF]"
$ SET DEFAULT 'CAR
$ IF F$SEARCH("HOME.CAP") .NES. "" THEN GOTO NOBLD   !if goto NOBLD then file already exist
$ IF F$SEARCH("GOLF.TXT") .NES. "" THEN SAY "I've noticed you have a file called GOLF.TXT  I must rename it to GOLF1.TXT"
$ IF F$SEARCH("GOLF.TXT") .NES. "" THEN RENAME GOLF.TXT GOLF1.TXT
$ TEMP123 = F$ENVIR("PROCEDURE") 
$ SAY "Moving ''TEMP123' to the subdirectory of GOLF"
$ COPY 'TEMP123 GOLF.COM
$ DEL 'TEMP123
$ CREATE GOLF.TXT
$ SAY "Creating file called GOLF.TXT"
$ CREATE HANDI.CAP
$ SAY "Creating file called HANDI.CAP"
$ CREATE HOME.CAP
$ SAY "Creating file called HOME.CAP"
$ GOTO NOBLD1
$NOBLD:
$ FLAG = 0
$ SAY ""
$ SAY ""
$NOBLD1:
$ SAY "     COMMAND PROCEDURE TO KEEP TRACK OF YOUR GOLF SCORES."
$ SAY ""
$ SAY ""
$Z1:
$ SAY ""
$ SAY "(A)-Add Scores, (L)-List Scores, (S)-Show Handicap"
$ INQUIRE/NOPUNC BEGIN "(I)-Intro, (C)-Change Defaults, or (E)-Exit? "
$ IF BEGIN .EQS. "A" THEN GOTO ADD
$ IF BEGIN .EQS. "L" THEN GOTO LST
$ IF BEGIN .EQS. "S" THEN GOSUB A8
$ IF BEGIN .EQS. "E" THEN GOTO BYE
$ IF BEGIN .EQS. "I" THEN GOTO INTRO
$ IF BEGIN .EQS. "C" THEN GOTO CHANGE
$ GOTO Z1
$ADD:
$ INQUIRE/NOPUNC COURSE "Name of course? (''HME') "
$ IF COURSE .EQS. "" THEN COURSE = "''HME'"
$ IF COURSE .EQS. "''HME'" THEN FLAG = 1
$ IF COURSE .EQS. "''HME'" THEN GOTO A7
$ INQUIRE/NOPUNCT H2 "What is the course rating for ''COURSE'? "
$ H3 = F$LENGTH(H2)
$ IF H3 .EQS. 4 THEN H2 = H2 + "0"
$ IF H3 .EQS. 2 THEN H2 = H2 + ".00"
$ IF H3 .EQS. 3 THEN GOTO ADD
$ IF H3 .LT. 2 THEN GOTO ADD
$ IF H3 .GT. 5 THEN GOTO ADD
$A7:
$ COURSE1 = ''COURSE'
$ COURSE2 = COURSE1 + "                    "
$ COURSE3 = F$EXTRACT(0,20,COURSE2)
$FNT:
$ SAY ""
$ INQUIRE/NOPUNC SCORE "Adjusted Score @ ''COURSE' on the Front? Return = not played. "
$ IF SCORE .EQS. "" THEN GOTO FNT1
$ IF SCORE .LT. 25 THEN GOTO BULL
$ IF SCORE .GT. 56 THEN GOTO BD
$ IF SCORE .LT. 39 THEN GOTO GT
$ GOTO GD
$BD:
$ SAY ""
$ SAY "Musta been that ChileDog aye!"
$ GOTO FNT1
$GT:
$ SAY ""
$ SAY "Great Round aye!"
$ GOTO FNT1
$GD:
$ SAY ""
$ SAY "Good Round."
$FNT1:
$ SCORE1 = ''SCORE'
$ SCORE2 = SCORE1 + "   "
$ SCORE3 = F$EXTRACT(0,3,SCORE2)
$ GOTO BACK
$BULL:
$ SAY ""
$ SAY "Right! OK Mr. Muligan!"
$ GOTO FNT
$BACK:
$ SAY ""
$ INQUIRE/NOPUNC NINE "Adjusted Score @ ''COURSE' on the Back? Return = not played. "
$ BACK9 = "''NINE'"
$ IF BACK9 .EQS. "" THEN GOTO BCK1
$ IF BACK9 .LT. 25 THEN GOTO BULL1
$ IF BACK9 .GT. 56 THEN GOTO BD1
$ IF BACK9 .LT. 39 THEN GOTO GT1
$ GOTO GD1
$BD1:
$ SAY ""
$ SAY "Musta been that ChileDog aye!"
$ GOTO FIRST1
$GT1:
$ SAY ""
$ SAY "Great Round aye!"
$ GOTO FIRST1
$GD1:
$ SAY ""
$ SAY "Good Round."
$ GOTO FIRST1
$BCK1:
$ IF SCORE .NES. "" THEN GOTO FIRST1
$ IF NINE .NES. "" THEN GOTO FIRST1
$ ! Must have not entered any scores
$ SAY ""
$ SAY "You must be practicing this program or made a mistake!"
$ SAY ""
$ GOTO NOBLD1
$BULL1:
$ SAY ""
$ SAY "Right! Get serious!"
$ GOTO BACK
$FIRST1:
$ TEMP = ''NINE'
$ TEMP1 = TEMP + "   "
$ BACK9 = F$EXTRACT(0,3,TEMP1)
$FIRST:
$ CREATE FIX.TXT
$ OPEN/APPEND GOLF_TXT FIX.TXT
$ IF SCORE .EQS. "" THEN SCORE = 0
$ IF NINE .EQS. "" THEN NINE = 0
$ TOT = 'SCORE + 'NINE
$ IF TOT .GT. 99 THEN GOTO OPPS
$ WRITE GOLF_TXT "''COURSE3'         ''SCORE3'                   ''BACK9'            ''TOT'"
$ GOTO OPPS1
$OPPS:
$ WRITE GOLF_TXT "''COURSE3'         ''SCORE3'                   ''BACK9'           ''TOT'"
$OPPS1:
$ CLOSE GOLF_TXT
$ APPEND GOLF.TXT FIX.TXT
$ PURGE FIX.TXT
$ RENAME FIX.TXT GOLF.TXT
$ PURGE GOLF.TXT
$ SAY ""
$ IF SCORE .NES. 0 THEN GOTO A4
$ GOTO A6
$A4:
$ H1 = SCORE
$ IND = "HANDI.CAP"
$ GOSUB A3
$ IF FLAG .EQS. 0 THEN GOTO A6
$ IND = "HOME.CAP"
$ GOSUB A3
$A6:
$ IF NINE .NES. 0 THEN GOTO A5
$ !SAY ""
$ GOTO NOBLD
$A5:
$ H1 = NINE
$ IND = "HANDI.CAP"
$ GOSUB A3
$ IF FLAG .EQS. 0 THEN GOTO NOBLD
$ IND = "HOME.CAP"
$ GOSUB A3
$ GOTO NOBLD
$A3:
$ H4 = "''H2'" - "."
$ H3 = (H1 * 100) - H4
$ IF H3 .LT. 1000 THEN H3 = " " + "''H3'"
$ H5 = F$EXT(0,2,H3)
$ H6 = F$EXT(2,2,H3)
$ H7 = "''H5'" + "." + "''H6'"
$ CREATE TEMP.TXT
$ CNT = 1
$ OPEN/APPEND TEMP TEMP.TXT
$ OPEN TEMP1 'IND
$ WRITE TEMP "''H1'     ''H2'     ''H7'"
$A1:
$ READ/END_OF_LINE=EOL1 TEMP1 TEMP2
$ WRITE TEMP TEMP2
$ CNT = CNT + 1
$ IF CNT .EQS. 20 THEN GOTO EOL1
$ GOTO A1
$EOL1:
$ CLOSE TEMP
$ CLOSE TEMP1
$ RENAME TEMP.TXT 'IND
$ RETURN 1
$LST:
$ SAY ""
$ COPY GOLF.TXT TEMP.TXT
$ INQUIRE/NOPUNCT SRT "Sorted by?  F-Front, B-Back, T-Total, C-Course, <O>-Order Played "
$ IF SRT .EQS. "T" THEN SORT/KEY=(POSITION:66,SIZE:3) GOLF.TXT TEMP.TXT
$ IF SRT .EQS. "F" THEN SORT/KEY=(POSITION:29,SIZE:3) GOLF.TXT TEMP.TXT
$ IF SRT .EQS. "B" THEN SORT/KEY=(POSITION:51,SIZE:3) GOLF.TXT TEMP.TXT
$ IF SRT .EQS. "C" THEN SORT/KEY=(POSITION:1,SIZE:3) GOLF.TXT TEMP.TXT
$PNT:
$ INQUIRE/NOPUNCT PNT1 "If you have an LAXXX attatched do you want a Hard Copy (Y/<N>)? "
$ IF PNT1 .EQS. "Y" THEN GOTO PNT2
$FIX2:
$ SAY ""
$ SAY ""
$ SAY "#6Personal Golf Scores"
$ SAY "#6--------------------"
$ SAY "-NAME OF COURSE        FRONT 9 HOLES          BACK 9 HOLES      TOTAL-"
$ SAY "---------------        -------------          ------------      ------"
$ SAY ""
$ OPEN TEMP TEMP.TXT
$ COUNT1 = 17
$FIX1:
$ READ/END_OF_LINE=DONE1 TEMP TEMP2
$ SAY TEMP2
$ COUNT1 = COUNT1 - 1
$ IF COUNT1 .NES. 0 THEN GOTO FIX1
$ INQUIRE/NOPUNCT TOF1 "Hit a return to view others. "
$ GOTO FIX2
$DONE1:
$ CLOSE TEMP
$DONE2:
$ PURGE TEMP.TXT
$ DEL TEMP.TXT;
$ GOTO Z1
$A8:
$ SAY ""
$ WAY = ""
$ INQUIRE/NOPUNCT WAY "By H-Home course, or O-Overall (H/<O>) "
$A11:
$ IND = "HANDI.CAP"
$ IF WAY .EQS. "H" THEN IND = "HOME.CAP"
$ SAY "Working......"
$ CREATE TEMP.TXT
$ CNT = 0
$ OPEN TEMP1 'IND
$A9:
$ READ/END_OF_LINE=EOL2 TEMP1 TEMP2
$ CNT = CNT + 1
$ GOTO A9
$EOL2:
$ CLOSE TEMP1
$ IF CNT .EQS. 0 THEN GOTO FIX3
$ IF CNT .LT. 2 THEN CNT = 2
$ CNT1 = CNT / 2
$ MAN = "''CNT1'"
$ !SORT/KEY=(POSITION:1,SIZE:2) HANDI.CAP TEMP.TXT
$ SORT/KEY=(POSITION:17,SIZE:5) 'IND TEMP.TXT
$ OPEN TEMP TEMP.TXT
$ ACT = 0
$ CRS = 0
$A10:
$ READ TEMP TEMP1
$ TEMP2 = "''TEMP1'"
$ TEMP3 = F$EXT(17,5,TEMP2) -  " " - "."
$ MAN = MAN - 1
$ ACT = ACT + TEMP3
$ IF MAN .NES. 0 THEN GOTO A10
$ HAN = ('ACT / 'CNT1) * 96
$ HAN1 = F$EXT(0,F$LENGTH(HAN)-4,HAN)
$ HAN2 = F$EXT(F$LENGTH(HAN)-4,2,HAN)
$ CLOSE TEMP
$ SAY ""
$ SAY "Your Handicap is ''HAN1'.''HAN2'"
$FIX3:
$ IF CNT .EQS. 0 THEN SAY "E You do not have any reported scores for ''HME'.E"
$ PURGE TEMP.TXT
$ PURGE 'IND
$ DELETE TEMP.TXT;
$ RETURN 1
$INTRO:
$ SAY "                 Kevin Freeman --- Author"
$ SAY "            COMMAND FILE TO KEEP TRACK OF MY GOLF SCORES"
$ SAY "  Creates a file called GOLF.TXT to keep track of your golf History."
$ SAY "  It appends the addition you make to the file, so they are appended"
$ SAY "  in the order in which you played them through out eternity. :-)"
$ SAY "  It also creates a file called HANDI.CAP to store up to as many as 20"
$ SAY "  of your most resent scores.  The USGA formula is as follows."
$ SAY "  1/2 of your most resent scores (not to exceed 20) added together and"
$ SAY "  then divided by the number of rounds, as well as 1/2 the course ratings "
$ SAY "  totals again divided by number of rounds both yielding an average number."
$ SAY "  Subtract the lower number from the Higher and multiply by .96"
$ SAY "  example, Your HANDI.CAP file contains a history of the maximum 20 scores."
$ SAY "  1/2 = 10, so take your top 10 scores and add to get a total, and the course"
$ SAY "  ratings totals for the same 10 scores and then divide each of the totals by"
$ SAY "  10.  In the case of us amateurs we would have to subtract the course"
$ SAY "  ratings average from the 10 scores average and then Multiply the resultant"
$ SAY "  by .96      Confusing?  yes      Regards, Kevin F."
$ GOTO Z1
$CHANGE:
$ INQUIRE/NOPUNCT NEW "New Course Name for Default? "
$ INQUIRE/NOPUNCT RATE "New Course Rating for 9 holes for Default? "
$ SAY ""
$ SAY "Working...."
$ H2 = RATE
$ H3 = F$LENGTH(RATE)
$ IF H3 .EQS. 4 THEN H2 = H2 + "0"
$ IF H3 .EQS. 2 THEN H2 = H2 + ".00"
$ IF H3 .EQS. 3 THEN GOTO CHANGE
$ IF H3 .LT. 2 THEN GOTO CHANGE
$ IF H3 .GT. 5 THEN GOTO CHANGE
$ CREATE TEMP.COM
$ OPEN GOLF GOLF.COM
$ OPEN/APPEND TEMP TEMP.COM
$ WRITE TEMP "$ HME = ""''NEW'" ! Default Home Course"
$ WRITE TEMP "$ H2 = ""''H2'"    ! Default Home Course Rating"
$ READ/END_OF_LINE=EOL3 GOLF GOLF1
$ READ/END_OF_LINE=EOL3 GOLF GOLF1
$CHANGE2:
$ READ/END_OF_LINE=EOL3 GOLF GOLF1
$ WRITE TEMP GOLF1
$ GOTO CHANGE2
$EOL3:
$ CLOSE TEMP 
$ CLOSE GOLF
$ PURGE TEMP.COM
$ RENAME TEMP.COM GOLF.COM
$ PURGE GOLF.COM
$ RENAME GOLF.COM GOLF.COM;1
$ HME = "''HME'" - " "
$ RENAME HOME.CAP 'HME.CAP
$ CREATE HOME.CAP
$ SEARCH/OUTPUT= TEMPA.TXT GOLF.TXT "''NEW'"
$ OPEN TEMPA TEMPA.TXT
$ IND = "HOME.CAP"
$ CNTA = 0
$B1:
$ READ/END_OF_LINE=EOL4 TEMPA TEMPA1
$ H1 = F$EXT(29,2,TEMPA1)
$ IF H1 .EQS. "  " THEN GOTO B2
$ GOSUB A3
$ CNTA = 'CNTA + 1
$ IF CNTA .EQS. 20 THEN GOTO EOL4
$B2:
$ H1 = F$EXT(51,2,TEMPA1)
$ IF H1 .EQS. "  " THEN GOTO B1
$ GOSUB A3
$ CNTA = 'CNTA + 1
$ IF CNTA .EQS. 20 THEN GOTO EOL4
$ GOTO B1
$EOL4:
$ CLOSE TEMPA
$ PU TEMPA.TXT
$ DEL TEMPA.TXT;
$ CREATE TEMP1.TXT
$ OPEN TEMPB HOME.CAP
$B3:
$ READ/END_OF_LINE=EOL5 TEMPB TEMPB1
$ CREATE TEMP.TXT
$ OPEN/APPEND TEMPB2 TEMP.TXT
$ WRITE TEMPB2 TEMPB1
$ CLOSE TEMPB2
$ APPEND TEMP1.TXT TEMP.TXT
$ RENAME TEMP.TXT TEMP1.TXT
$ GOTO B3
$EOL5:
$ CLOSE TEMPB
$ PU TEMP1.TXT
$ RENAME TEMP1.TXT HOME.CAP;
$ PU HOME.CAP
$ SAY "My sources indicate you have ''CNTA' scores from your History file and....."
$ HME = NEW
$ WAY = "H"
$ GOSUB A11
$BYE:
$ SET DEFAULT 'STORE
$ EXIT
$PNT2:
$ CREATE HLD.TXT
$ OPEN/APPEND HLD HLD.TXT
$ WRITE HLD "             P e r s o n a l   G o l f   S c o r e s"
$ WRITE HLD "             ---------------------------------------"
$ WRITE HLD ""
$ WRITE HLD "-NAME OF COURSE        FRONT 9 HOLES          BACK 9 HOLES      TOTAL-"
$ WRITE HLD "---------------        -------------          ------------      ------"
$ CLOSE HLD
$ APPEND TEMP.TXT HLD.TXT
$ WAY = ""
$ GOSUB A11
$ OVE = "Your overall Handicap is ''HAN1'.''HAN2'"
$ WAY = "H"
$ GOSUB A11
$ HME = "  Your home course Handicap is ''HAN1'.''HAN2'"
$ OPEN/APPEND HLD HLD.TXT
$ WRITE HLD ""
$ WRITE HLD "''OVE' ''HME'"
$ CLOSE HLD
$ SAY ""
$ TYPE HLD.TXT
$ SAY ""
$ PURGE HLD.TXT
$ DEL HLD.TXT;
$ GOTO Z1
127.8But when is a course deamed Familiar.RANGLY::FREEMAN_KEVIThe Squeeky Wheel = NeglectMon Apr 25 1988 13:3713
Roger,

Sorry for not asking earlier but with the Hibernation period over and the
scent of honey dipped golf balls.... is this formula to be used only when an 
individual golfs on an "Unfamiliar" course.  If its intention was to aid high
handicapers with playing these unfamiliar courses it would seem once the 
course becomes "known" that this formula should not be used as the high 
handicaper is at an addvantage.  If that being so then what has been 
determined as the number of times a course must be played to be called 
"familiar".  How many Leagues out there are using this "New and Improved"
methode.  I've yet to see it up here in Maine.  But then again we've been
known to be a might bit slow ayuuuuuuuun. 8^)
                                                     Regards, Kevin