Golf Partner

Developer(s): Joseph Glass
Date: 1983
Type: Program
Platform(s): ZX81, TS 1000
Tags: Hobby

A golf score keeper. Before the first use, GOTO 900 to set up the arrays; after that the program starts at its menu. Choose 1 to enter rounds: the date, the course, the holes played (9 or 18) and your score, then END for the date to finish. Choose 2 to list every round; after the list, press ENTER for your statistics, which use the ten most recent rounds, counting a 9-hole score twice. The program prints the total strokes, the average and a handicap of 85 percent of the amount by which the average exceeds 72. Choose 3 to save the program and its data to tape.

Line 425 clears the screen when it fills, so a long list does not stop with report 5. The article explains how to enter line 0, the title REM, with POKE 16510,0. Because the set-up puts END in the second slot, the list always starts with an empty row. The statistics need at least ten rounds.

Published in Syntax July 1983 (Golf Partner).

Related Articles

Stores your golf scores and calculates your average and handicap. The program holds information for 100 rounds of golf, and calculates the statistics after your first ten entries.

Image Gallery

Source Code

   0 REM --GOLF PARTNER          BY JOE GLASS. (C)1983
   2 REM
   3 REM
   4 REM
   5 REM
   6 REM --GOTO 900 ON FIRST TRY
   7 REM
   8 REM
   9 REM    D$=DATE
  10 REM    C$=COURSE
  11 REM  N(L)=HOLES COMPLETED
  12 REM  S(L)=SCORE
  18 SLOW
  19 GOTO 100
  20 REM
  21 REM --CLEAR ROUTINE
  22 REM
  24 CLS
  25 PRINT
  30 RETURN
  37 REM
  38 REM --RETURN TO MENU OPTION
  39 REM
  40 PRINT AT 21,0;"KEY ENTER TO CONTINUE"
  45 INPUT X$
  50 GOTO 100
  57 REM
  58 REM --OUTPUT FORMAT ROUTINE
  59 REM
  60 PRINT TAB 2;"DATE";TAB 11;"COURSE";TAB 21;"HOLES";TAB 27;"SCORE"
  65 PRINT TAB 2;"----";TAB 11;"------";TAB 21;"-----";TAB 27;"-----"
  70 PRINT
  75 RETURN
  77 REM
  78 REM --START HANDICAP ROUTINE
  79 REM
  80 PRINT AT 21,0;"KEY ENTER FOR YOUR STATISTICS"
  85 INPUT Z$
  90 GOTO 700
  97 REM
  98 REM --MAIN MENU
  99 REM
 100 GOSUB 20
 105 PRINT " GOLF PARTNER         T/S 1000 "
 110 PRINT AT 7,8;"1 ENTER NEW DATA"
 115 PRINT AT 9,8;"2 VIEW PAST DATA"
 120 PRINT AT 11,8;"3 SAVE TO TAPE"
 125 PRINT AT 17,0;"█████████████████████████████=="
 130 PRINT AT 21,0;" OPTION? "
 135 INPUT O$
 140 IF CODE O$<29 OR CODE O$>31 THEN GOTO 130
 141 LET O=VAL O$
 145 GOTO O*200
 157 REM
 158 REM --REPRINTS HEADINGS
 159 REM
 160 GOSUB 20
 165 GOSUB 60
 170 RETURN
 197 REM
 198 REM --ENTER NEW DATA
 199 REM
 200 GOSUB 20
 205 FOR L=1 TO 100
 206 IF D$(L,1 TO 3)="END" THEN GOTO 209
 207 NEXT L
 209 PRINT "LAST ENTRY WAS ON: ";D$(L-1)
 210 PRINT "ENTER NEW DATA";TAB 0;"TYPE ""END"" TO STOP"
 211 PRINT "▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀"
 215 PRINT "ENTER THE DATE (EG. 1/28/51)"
 220 INPUT D$(L)
 225 IF D$(L,1 TO 3)="END" THEN GOTO 100
 230 GOSUB 20
 235 PRINT "ENTER COURSE NAME"
 236 PRINT "▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀"
 240 INPUT C$(L)
 245 GOSUB 20
 250 PRINT "HOLES COMPLETED (9 OR 18 ONLY)"
 255 INPUT N(L)
 260 GOSUB 20
 265 PRINT "ENTER YOUR SCORE"
 270 INPUT S(L)
 275 GOSUB 20
 280 LET L=L+1
 285 IF L>100 THEN GOTO 100
 290 GOTO 210
 397 REM
 398 REM --VIEW PAST DATA
 400 GOSUB 20
 405 GOSUB 60
 410 FOR L=1 TO 100
 415 PRINT D$(L);TAB 9;C$(L);TAB 23;N(L);TAB 28;S(L)
 420 IF D$(L,1 TO 3)="END" THEN GOTO 80
 425 IF PEEK 16442<4 THEN GOSUB 160
 430 NEXT L
 435 GOTO 40
 597 REM
 598 REM --SAVE TO TAPE
 599 REM
 600 GOSUB 20
 605 PRINT "ALL DATA WILL BE SAVED IN THE   STANDARD T/S 1000 FORMAT...     KEY ENTER WHEN READY."
 610 INPUT X$
 615 SAVE "GOLF"
 620 GOTO 100
 697 REM
 698 REM --HANDICAP FORMULA
 699 REM
 700 GOSUB 20
 705 LET X=1
 710 LET T=0
 711 REM
 712 REM --NEXT TWO LINES ADJUST           SCORES TO THEIR 18              HOLE EQUIVALENT.
 713 REM
 715 IF N(L-X)=18 THEN LET T=T+S(L-X)
 716 IF N(L-X)=9 THEN LET T=T+(2*S(L-X))
 720 LET X=X+1
 725 IF X=11 THEN GOTO 735
 730 GOTO 715
 735 LET A=T/10
 740 LET R=A-72
 745 LET H=INT (R*.85)
 746 PRINT "BASED ON YOUR LAST TEN ROUNDS:"
 747 PRINT
 748 PRINT
 749 PRINT
 750 PRINT "TOTAL STROKES= ";T
 755 PRINT "AVERAGE= ";A
 760 PRINT
 765 PRINT
 770 PRINT "YOUR HANDICAP IS ";H
 775 GOTO 40
 897 REM
 898 REM --INITIAL SET-UP
 899 REM
 900 DIM D$(100,8)
 901 DIM C$(100,12)
 902 DIM N(100)
 903 DIM S(100)
 904 LET D$(2)="END"
 905 GOTO 100
2000 REM
2001 REM --(C)1983. GLASSWARE.
2004 REM

Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.