10000 '************************************************************* 10010 '***** PC-GOLF THE GOLFER's PROGRAM PC-GOLF ***** 10020 '***** Version 1.4 (C) 1983,1984,1985 Ed Chandler ***** 10030 '************************************************************* 10040 '+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 10050 ' 5. GET the golfer's score sheet 10060 '+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 10070 CLS:PRINT MNU5$ 10072 IF ROS=0 THEN 10080 10075 DEF SEG=&H40:I%=PEEK(&H17):I%=I% OR 32:POKE &H17,I% 'num lock on 10080 IF PACT>0 THEN 10120 10090 PRINT:PRINT"There are no player's scores yet, because" 10100 PRINT"no rounds have been tallied." 10110 GOSUB 580:GOTO 530 'back to main 10120 PRINT:PRINT SPC(7);"PC-GOLF's Score Sheets":PRINT 10130 PRINT SPC(3)"1. Select a player." 10140 PRINT SPC(3);MNURT$:PRINT 10150 M1$="key":M2$="(1 or M) ":GOSUB 570 10160 IF KB=1 THEN 10190 10170 IF KB$="M" OR KB$="m" THEN 530 'back to main 10180 GOSUB 610:GOTO 10070 10190 CLS:PRINT MNU5$:X=1:GOSUB 550 'show roster 10200 IF PR=0 THEN GOSUB 590:RETURN 10210 PRINT:LINE INPUT;"ENTER the line number of the player you want. ";KB$ 10220 KB=VAL(KB$):IF KB>0 AND KB<=PMAX AND TMP(KB)=KB THEN 10250 10230 GOSUB 611:GOTO 10190 10240 '+++++ PDIR.DAT PLAYER.DAT GCDIR.DAT +++++ 10250 GOSUB 660:GET #4,KB:GOSUB 670:GET #5,KB 10260 PRN=VAL(E4$):GOSUB 650:GOSUB 655:GET #2,PRN:GET #3,PRN:CLOSE #2,#3,#4,#5 10270 E5=CVI(E5$):J5=CVI(J5$):SSW=0 'score & putt counts,set up flag 10280 '+++++ all data is in buffers #2,#3,#4,#5 +++++ 10290 IF A5$="V" THEN 10320 'ok data is valid 10300 PRINT:PRINT"There are no putts or scores in the data bank for ";B4$; 10310 GOSUB 580:GOTO 10070 10320 CLS:PRINT SPC(7);"PC-GOLF's Score Sheets":PRINT 10330 MNU1$="1. Review the scoring tables and bar charts.":PRINT SPC(3);MNU1$ 10340 MNU2$="2. Review the putting tables and bar charts.":PRINT SPC(3);MNU2$ 10350 PRINT SPC(3);MNURT$:PRINT 10360 M1$="key":M2$="(1,2 or M) ":GOSUB 570:TSW=KB 10370 IF KB=1 THEN 10410 10380 IF KB=2 THEN 10440 10390 IF KB$="M" OR KB$="m" THEN 10070 10400 GOSUB 610:GOTO 10320 10410 IF E5<>0 THEN 10480 10420 PRINT:PRINT"There are no scores in the data bank for ";B4$ 10430 GOSUB 580:GOTO 10320 10440 IF J5<>0 THEN 10480 10450 PRINT:PRINT"There are no putts in the data bank for ";B4$ 10460 GOSUB 580:GOTO 10320 10470 '+++++ put scores in arrays +++++ 10480 IF SSW =1 THEN 11020 'tra if set up already 10490 N=1:FOR I=1 TO 18 10500 PS(I)=CVI(MID$(G5$,N,2)) 'gross scores 10510 IF E5<>0 THEN TAVG!(I)=PS(I)/E5 'avg gr scores 10520 IF F4$="m" THEN CP(I)=VAL(MID$(E2$,I,1)) 'course pars 10530 IF F4$="f" THEN CP(I)=VAL(MID$(H2$,I,1)) 'course pars 10540 PM!(I)=TAVG!(I)-CP(I) 'plus/minus avg gr scores 10550 TMP(I)=VAL(MID$(G2$,N,2)) 'hole hcaps 10560 GS(I)=I 'hole #'s & index for hole #'s 10570 N=N+2:NEXT I 10580 '+++++ AVG SCORES +++++ 10590 IF E5=0 THEN 10650 10600 FOR I=1 TO 18:TX(I)=PS(I):TX!(I)=TAVG!(I):NEXT I 10610 T=E5:T3!=3:T4!=4:T5!=5:M1$=" AVERAGE SCORES ":M2$="Avg. score " 10620 GOSUB 11690 'avg scores display 10630 '+++++ 10640 'sort for hole handicaps 10650 PRINT:PRINT"Calculating - Standby -":LOCATE CSRLIN-2,POS(0),0 10660 FOR I=1 TO 18:IX(I)=I:KEE(I)=TMP(I):NEXT 'set key for h'caps 10670 GOSUB 11610:FOR I=1 TO 18:IK(I)=IX(I):NEXT 'save HCAP index 10680 GOSUB 580 10690 '+++++ put putts in arrays +++++ 10700 IF J5=0 THEN 10900 '# putts 10710 N=1:FOR I=1 TO 18 10720 PSP(I)=CVI(MID$(L5$,N,2)) 'actual putts 10730 PAVG!(I)=PSP(I)/J5 'avg gr putts 10740 PMP!(I)=PAVG!(I)-2 'plus/minus avg gr putts 10750 IF F4$="m" THEN CP(I)=VAL(MID$(E2$,I,1)) 'course pars 10760 IF F4$="f" THEN CP(I)=VAL(MID$(H2$,I,1)) 'course pars 10770 TMP(I)=VAL(MID$(G2$,N,2)) 'hole hcaps 10780 GS(I)=I 'hole #'s & index for hole #'s 10790 N=N+2:NEXT I 10800 '+++++ AVERAGE PUTTS +++++ 10810 FOR I=1 TO 18:TX(I)=PSP(I):TX!(I)=PAVG!(I):NEXT I 10820 T=J5:T3!=PR!:T4!=T3!:T5!=T3!:M1$=" AVERAGE PUTTS ":M2$="Avg. putts " 10830 GOSUB 11690 'avg putts display 10840 'sort for plus/minus putts 10850 PRINT:PRINT"Calculating - Standby -":LOCATE CSRLIN-2,POS(0),0 10860 FOR I=1 TO 18:IX(I)=I:KEE!(I)=INT(PMP!(I)*100)*100+I:NEXT 10870 GOSUB 11650:FOR I=1 TO 18:IY(I)=IX(I):NEXT 'save +/- index 10880 GOSUB 580 10890 '+++++ potpourri +++++ 10900 GOSUB 12150 'potpourri 10910 '+++++ 10920 IF E5=0 THEN 11000 10930 'sort for plus/minus scores 10940 PRINT:PRINT"Calculating - Standby -":LOCATE CSRLIN-2,POS(0),0 10950 FOR I=1 TO 18:IX(I)=I:KEE!(I)=INT(PM!(I)*100)*100+I:NEXT 10960 GOSUB 11650:FOR I=1 TO 18:DD(I)=0:IJ(I)=IX(I):NEXT 'save +/- index 10970 H=VAL(D4$):DH!=0:FOR I=1 TO 18:DH!=DH!+PM!(IJ(I)) 10980 IF DH!>H THEN DD(IJ(I))=I 'set for double diamond flag 10990 NEXT I 11000 GOSUB 580:SSW=1 'flag set up done 11010 '+++++ 11020 IF TSW=2 THEN 11320 'scores or putts 11030 CLS:PRINT MNU1$:PRINT:PRINT SPC(8)"PC-GOLF's Score Sheets":PRINT 11040 PRINT"1. Hole Handicap sequence table" 11050 PRINT"2. Plus/Minus sequence table" 11060 PRINT"3. Average Scores bar chart" 11070 PRINT"4. Hole Handicap bar chart" 11080 PRINT"5. Low-to-High Score bar chart" 11082 PRINT"6. Scoring Trend chart" 11090 PRINT"7. Average Scores" 11100 PRINT"8. Potpourri" 11110 PRINT"9. Personal Best" 11120 PRINT MNURT$:PRINT 11130 M1$="key":M2$="(1,2,3,4,5,6,7,8,9 or M) ":GOSUB 570 11140 M1$="Avg.score":FOR I=1 TO 18:KEE!(I)=TAVG!(I):TX!(I)=PM!(I):NEXT I 11150 IF KB=1 THEN GOSUB 12430:GOTO 11020 11160 IF KB=2 THEN GOSUB 12550:GOTO 11020 11170 M1$="Average Score":FOR I=1 TO 18:TX!(I)=PM!(I):IX(I)=GS(I):NEXT I 11180 T=E5 11190 IF KB=3 THEN PTYP$="HS":GOSUB 12780:GOTO 11020 11200 M1$="Hole Handicap":FOR I=1 TO 18:IX(I)=IK(I):NEXT I 11210 IF KB=4 THEN PTYP$="HC":GOSUB 12780:GOTO 11020 11220 M1$="Low-to-High Score":FOR I=1 TO 18:IX(I)=IJ(I):NEXT I 11230 IF KB=5 THEN PTYP$="PM":GOSUB 12780:GOTO 11020 11232 IF KB<>6 THEN 11240 11239 T=1:M1$="Scoring":GOSUB 13640:GOTO 11020 11240 FOR I=1 TO 18:TX(I)=PS(I):TX!(I)=TAVG!(I):NEXT I 11250 T=E5:T3!=3:T4!=4:T5!=5:M1$=" AVERAGE SCORES ":M2$="Avg. score " 11260 IF KB=7 THEN GOSUB 11690:GOSUB 590:GOTO 11020 11270 IF KB=8 THEN GOSUB 12150:GOSUB 590:GOTO 11020 11280 IF KB=9 THEN GOSUB 13240:GOSUB 590:GOTO 11020 11290 IF KB$="M" OR KB$="m" THEN 10320 11300 GOSUB 610:GOTO 11020 11310 '+++++ 11320 CLS:PRINT MNU2$:PRINT:PRINT SPC(8)"PC-GOLF's Score Sheets":PRINT 11330 PRINT"1. Hole Handicap sequence table" 11340 PRINT"2. Plus/Minus sequence table" 11350 PRINT"3. Average Putts bar chart" 11360 PRINT"4. Hole Handicap bar chart" 11370 PRINT"5. Low-to-High Putts bar chart" 11372 PRINT"6. Putting Trend chart" 11380 PRINT"7. Average Putts" 11390 PRINT"8. Potpourri" 11400 PRINT"9. Personal Best" 11410 PRINT MNURT$:PRINT 11420 M1$="key":M2$="(1,2,3,4,5,6,7,8,9 or M) ":GOSUB 570 11430 M1$="Avg.putt ":FOR I=1 TO 18:KEE!(I)=PAVG!(I):TX!(I)=PMP!(I):NEXT I 11440 IF KB=1 THEN GOSUB 12430:GOTO 11020 11450 IF KB=2 THEN GOSUB 12550:GOTO 11020 11460 M1$="Average Putts":FOR I=1 TO 18:TX!(I)=PMP!(I):IX(I)=GS(I):NEXT I 11470 T=J5 11480 IF KB=3 THEN PTYP$="HP":GOSUB 12780:GOTO 11020 11490 M1$="Hole Handicap":FOR I=1 TO 18:IX(I)=IK(I):NEXT I 11500 IF KB=4 THEN PTYP$="HC":GOSUB 12780:GOTO 11020 11510 M1$="Low-to-High Putts":FOR I=1 TO 18:IX(I)=IY(I):NEXT I 11520 IF KB=5 THEN PTYP$="PM":GOSUB 12780:GOTO 11020 11522 IF KB<>6 THEN 11530 11526 T=2:M1$="Putting":GOSUB 13640:GOTO 11020 11530 FOR I=1 TO 18:TX(I)=PSP(I):TX!(I)=PAVG!(I):NEXT I 11540 T=J5:T3!=PR!:T4!=T3!:T5!=T3!:M1$=" AVERAGE PUTTS ":M2$="Avg. putts " 11550 IF KB=7 THEN GOSUB 11690:GOSUB 590:GOTO 11020 11560 IF KB=8 THEN GOSUB 12150:GOSUB 590:GOTO 11020 11570 IF KB=9 THEN GOSUB 13240:GOSUB 590:GOTO 11020 11580 IF KB$="M" OR KB$="m" THEN 10320 11590 GOSUB 610:GOTO 11320 11600 '+++++ sort sub +++++ 11610 FOR I=1 TO 17:FOR J=I+1 TO 18:IF KEE(I)<=KEE(J) THEN 11630 11620 T=KEE(I):KEE(I)=KEE(J):KEE(J)=T:T=IX(I):IX(I)=IX(J):IX(J)=T 11630 NEXT J:NEXT I:RETURN 11640 '+++++ sort sub +++++ 11650 FOR I=1 TO 17:FOR J=I+1 TO 18:IF KEE!(I)<=KEE!(J) THEN 11670 11660 T!=KEE!(I):KEE!(I)=KEE!(J):KEE!(J)=T!:T=IX(I):IX(I)=IX(J):IX(J)=T 11670 NEXT J:NEXT I:RETURN 11680 '+++++ performance for par 3,4,5's +++++ 11690 P3=0:P4=0:P5=0:P3ACT=0:P4ACT=0:P5ACT=0 11700 FOR I=1 TO 18 11710 IF CP(I)=3 THEN P3=P3+1:P3ACT=P3ACT+TX(I) 'sum of actuals 11720 IF CP(I)=4 THEN P4=P4+1:P4ACT=P4ACT+TX(I) 11730 IF CP(I)=5 THEN P5=P5+1:P5ACT=P5ACT+TX(I) 11740 NEXT 11750 '+++++ t=# rounds tallied 11760 P3AVG!=0:IF P3<>0 THEN P3AVG!=P3ACT/(P3*T) 11770 P4AVG!=0:IF P4<>0 THEN P4AVG!=P4ACT/(P4*T) 11780 P5AVG!=0:IF P5<>0 THEN P5AVG!=P5ACT/(P5*T) 11790 P3DEL!=0:IF P3<>0 THEN P3DEL!=P3AVG!-T3! 11800 P4DEL!=0:IF P4<>0 THEN P4DEL!=P4AVG!-T4! 11810 P5DEL!=0:IF P5<>0 THEN P5DEL!=P5AVG!-T5! 11820 '+++++ AVERAGE SCORES +++++ 11830 CLS:PRINT"Scoring Table for ";B4$:PRINT"Home Course - ";B2$ 11840 PRINT"with ";T;" rounds tallied." '# rounds 11850 PRINT SPC(30);:COLOR 0,15,0:PRINT M1$;:COLOR 7,0,0 11860 PRINT SPC(5);GREG$:PRINT 11870 COLOR 0,15,0:PRINT" Front Nine ";:COLOR 7,0,0:PRINT SPC(1); 11880 FOR I=1 TO 9:PRINT USING"## ";I; 11890 IF I=3 OR I=6 THEN PRINT SPC(4) 11900 NEXT:PRINT 11910 PRINT"PAR";SPC(10);:FOR I=1 TO 9:PRINT USING "## ";CP(I); 11920 IF I=3 OR I=6 THEN PRINT SPC(4); 11930 NEXT:PRINT 11940 PRINT M2$;:FOR I=1 TO 9:PRINT USING "#.# ";TX!(I); 11950 IF I=3 OR I=6 THEN PRINT SPC(4) 11960 NEXT:PRINT:PRINT:PRINT 11970 COLOR 0,15,0:PRINT" Back Nine ";:COLOR 7,0,0:PRINT SPC(1); 11980 FOR I=10 TO 18:PRINT USING"## ";I; 11990 IF I=12 OR I=15 THEN PRINT SPC(4) 12000 NEXT:PRINT 12010 PRINT"PAR";SPC(10);:FOR I=10 TO 18:PRINT USING "## ";CP(I); 12020 IF I=12 OR I=15 THEN PRINT SPC(4); 12030 NEXT:PRINT 12040 PRINT M2$;:FOR I=10 TO 18:PRINT USING "#.# ";TX!(I); 12050 IF I=12 OR I=15 THEN PRINT SPC(4) 12060 NEXT:PRINT:PRINT:PRINT 12070 COLOR 0,15,0:PRINT" PAR ";:COLOR 7,0,0:PRINT SPC(12); 12080 PRINT"par 3's";SPC(12);"par 4's";SPC(12);"par 5's" 12090 PRINT M2$;SPC(7) 12100 PRINT USING "#.# ";P3AVG!;P4AVG!;P5AVG! 12110 PRINT "Plus/Minus";SPC(8) 12120 PRINT USING "+#.# ";P3DEL!;P4DEL!;P5DEL! 12130 RETURN 12140 '+++++ POTPOURRI +++++ 12150 CLS:PRINT"Scoring Table for ";B4$:PRINT"Home Course - ";B2$ 12160 T=E5:IF T=0 THEN T=J5 12170 PRINT '"with ";T;" rounds tallied.":PRINT 12180 PRINT SPC(12):COLOR 0,15,0:PRINT" POTPOURRI ";:COLOR 7,0,0 12190 PRINT SPC(10)GREG$:PRINT 12200 IF E5=0 THEN 12310 12210 T=0:T!=0:FOR I=1 TO 40 STEP 2:J=CVI(MID$(F5$,I,2)):T!=T!+J 12220 IF J<>0 THEN T=T+1 12230 NEXT I 12240 PRINT"Your gross scores for the last ";T;" rounds.":PRINT 12250 X=0:FOR I=41-2*T TO 39 STEP 2:PRINT USING" ###";CVI(MID$(F5$,I,2)); 12260 X=X+1:IF X=10 AND X0 THEN T=T+1 12340 NEXT I 12350 PRINT"Your putting scores for the last ";T;" rounds.":PRINT 12360 X=0:FOR I=41-2*T TO 39 STEP 2:PRINT USING" ###";CVI(MID$(K5$,I,2)); 12370 X=X+1:IF X=10 AND X0 THEN IF V!>TX!(IX(J)) THEN PRINT D$; ELSE PRINT F$; 12920 NEXT J:V!=V!+1:NEXT I 12930 '+++++ print HOLE # below zero line 12940 LOCATE 21,8 12950 FOR I=1 TO 18:LOCATE 21,POS(0):Y=POS(0) 12960 IF PTYP$="HC" THEN PRINT USING"## ";GS(IX(I)); 'hole hcaps 12970 IF PTYP$<>"HC" THEN PRINT USING"## ";GS(IX(I)); 'hole #s 12980 IF PTYP$="HS" AND DD(I)<>0 THEN LOCATE 23,Y:PRINT CHR$(4);CHR$(4);" "; 12990 NEXT I 13000 ' *** character fill bars on chart 13010 H1=8:HAF$="..":FUL$="::":BAR$=FUL$:BHAF$="`'" 13020 FOR I=1 TO 18:NBRCV=ABS(INT(TX!(IX(I))*4)):K=0 13030 SLIN=INT(20-(TX!(IX(I))*4)):IF SLIN>20 THEN SLIN=20 13040 T4!=TX!(IX(I)):T5!=INT(TX!(IX(I))/.25) 13050 IF T4!<>.25*T5! THEN BAR$=HAF$:NBRCV=NBRCV+1:K=1 13060 IF T4!<0 AND BAR$=HAF$ THEN BAR$=FUL$:NBRCV=NBRCV-1 13070 IF T4!<0 THEN BAR$=FUL$ 13080 FOR J=SLIN+1 TO SLIN+NBRCV 13082 JJ=J: IF JJ>24 THEN JJ=24 13090 LOCATE JJ,H1:PRINT BAR$;:BAR$=FUL$:NEXT J:IF T4!>=0 THEN 13110 13100 IF K=1 THEN LOCATE CSRLIN,H1:PRINT BHAF$; 13102 LOCATE 20,H1-1:PRINT GS(IX(I)) 13110 H1=H1+4:NEXT I 13160 FOR I=5 TO 23:LOCATE I,7:PRINT G$:LOCATE I,79:PRINT G$:NEXT 13170 LOCATE 25,16,0 13180 PRINT"PRESS the space bar to continue."; 13190 KB$=INKEY$:IF KB$<>"" THEN 13190 13200 KB$=INKEY$:IF KB$<>" " THEN 13200 13210 LOCATE CSRLIN,POS(0),1 13220 SCREEN 0:RETURN 13230 '+++++ PERSONAL BEST +++++ 13240 CLS:KB$=B4$:GOSUB 700:PRINT SPC(12):COLOR 0,15,0 13242 PRINT" - PERSONAL BEST - ";KB$;" ":COLOR 7,0,0 13250 LOCATE 1,67:PRINT GREG$:PRINT 13260 CF=0:CB=0:AF=0:AB=0:PF=0:PB=0 13270 FOR I=1 TO 9:CF=CF+CP(I):CB=CB+CP(I+9):NEXT I 13280 FOR I=1 TO 18:TX(I)=VAL(MID$(H5$,I,1)):IX(I)=VAL(MID$(M5$,I,1)):NEXT I 13290 FOR I=1 TO 9:AF=AF+TX(I):AB=AB+TX(I+9):PF=PF+IX(I):PB=PB+IX(I+9):NEXT I 13300 IF E5<>0 THEN YT=1 13310 IF J5<>0 THEN YT=2 13320 IF E5<>0 AND J5<>0 THEN YT=3 13330 PRINT "HOLE #";SPC(4); 13340 FOR I=1 TO 9 STEP 3:PRINT USING "###";I;I+1;I+2;:PRINT SPC(1):NEXT I 13350 PRINT "Front"; 13360 FOR I=10 TO 18 STEP 3:PRINT USING "###";I;I+1;I+2;:PRINT SPC(1):NEXT I 13370 PRINT "Back":PRINT SPC(41);"nine";SPC(30);"nine":PRINT "par";SPC(8); 13380 FOR I=1 TO 9 STEP 3:PRINT CP(I);CP(I+1);CP(I+2);SPC(1):NEXT I:PRINT CF; 13390 FOR I=10 TO 18 STEP 3:PRINT USING "###";CP(I);CP(I+1);CP(I+2); 13400 PRINT SPC(1):NEXT I:PRINT CB:PRINT 13410 IF YT=2 THEN 13450 ELSE COLOR 0,15,0:PRINT "low scores ";:COLOR 7,0,0 13420 FOR I=1 TO 9 STEP 3:PRINT TX(I);TX(I+1);TX(I+2);SPC(1);:NEXT I:PRINT AF; 13430 FOR I=10 TO 18 STEP 3:PRINT USING "###";TX(I);TX(I+1);TX(I+2); 13440 PRINT SPC(1):NEXT I:PRINT AB 13450 IF YT=1 THEN 13500 ELSE PRINT:COLOR 0,15,0:PRINT "low putts ";:COLOR 7,0,0 13460 FOR I=1 TO 9 STEP 3:PRINT IX(I);IX(I+1);IX(I+2);SPC(1);:NEXT I 13470 PRINT USING" ## ";PF; 13480 FOR I=10 TO 18 STEP 3:PRINT USING "###";IX(I);IX(I+1);IX(I+2); 13490 PRINT SPC(1);:NEXT I:PRINT USING" ##";PB 13500 PRINT:PRINT SPC(12)"Best low scores at: ";B2$ 13510 IF YT<>2 THEN PRINT SPC(12):PRINT USING" ### full rounds.";E5 13520 IF YT<>1 THEN PRINT SPC(12):PRINT USING" ### putting rounds.";J5 13530 LOCATE CSRLIN+1,15:COLOR 0,15,0 13540 IF YT<>2 THEN PRINT" Low score total is ";AF+AB 13550 LOCATE CSRLIN+1,15:IF YT<>1 THEN PRINT" Low putt total is ";PF+PB 13580 COLOR 7,0,0:RETURN 13590 '+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 13600 'PLOT TRENDS Subroutine 13610 'ENTER M1$=title, TMP(i)=scores<=20 to be plotted or zero's 13620 ' Max range of scores is 20 strokes(low to high) 13630 '+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 13640 N=1:FOR I=1 TO 20:TX(I)=0 13642 IF T=1 THEN T1(I)=CVI(MID$(F5$,N,2)) 13643 IF T=2 THEN T1(I)=CVI(MID$(K5$,N,2)) 13645 N=N+2:NEXT I 13648 FOR I=1 TO 20:IF T1(I)<>0 THEN 13655 13650 NEXT I:I=1 13655 K=1:FOR J=I TO 20:TX(K)=T1(J):K=K+1:NEXT J 13712 L=999:H=0:FOR I=1 TO 20 13714 IF TX(I)=0 THEN 13722 13716 IF TX(I)>H THEN H=TX(I) 13718 IF TX(I)H THEN TX(I)=H 13726 NEXT I:D2=20 13728 D1=(20-D2)/2:WIDTH 80:SCREEN 2 13740 LOCATE 1,16:PRINT M1$;:PRINT" Trend Chart for ";B4$ 13750 PRINT SPC(18)"For the last ";N;" rounds. ";GREG$ 13752 PRINT SPC(22) B2$ 13760 D$=CHR$(46)+" ":G$=CHR$(124) 13770 '+++++ print horiz lines and scores 13780 K=4:X=23:Y=4:FOR I=X TO Y STEP -1 13790 IF I<=X-D1 AND I>X-D1-D2 THEN LOCATE I,K:PRINT USING"### ";M;:M=M+1 13800 LOCATE I,K+5:FOR J=1 TO 20:PRINT D$; 13810 NEXT J:NEXT I 13820 '+++++ print round # 13830 LOCATE X+1-D1,K+4:FOR I=1 TO N:PRINT USING"## ";I;:NEXT I 13840 '+++++ draw lines 13850 H=K+5:H0=H*8-4 13860 V=X-D1:V0=(V-(TX(1)-L))*8-4 13870 FOR I=1 TO N 13880 M=TX(I)-L 13915 LOCATE V-M,H:PRINT "*" 13920 H=H+3:FOR Z=1 TO 50:NEXT Z 13930 NEXT I 13940 FOR I=Y TO X:LOCATE I,K+3:PRINT G$:LOCATE I,K+64:PRINT G$:NEXT 13950 LOCATE 25,16,0:PRINT"PRESS the space bar to continue."; 13960 KB$=INKEY$:IF KB$<>"" THEN 13960 13970 KB$=INKEY$:IF KB$<>" " THEN 13970 13980 LOCATE CSRLIN,POS(0),1:SCREEN 0:RETURN 13990 '+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 14000 '+++++ GRUNT WORK 14010 DELETE 490-9999 14020 SAVE"b:perform.asc",A 14030 RUN"b:main.bas" 15000 'for chain delete 000 '+++++ GRUNT WORK 14010 DELETE 490-9999 14020 SAVE"b:perform.asc",A 14030 RUN"b:main.bas" 15000 'for chain dele