0 'TIMING.100 by Jeremy Nichols 1 '(73527,2164) Copyright 1989 2 'All rights reserved 3 'See instructions (TIMING.DOC) in DL4 4 CLEAR2000:DIMLT$(99),LS(99),TT$(99),AS(99):SCREEN0,0:GOTO10 5 HR=INT(DT/3600) 6 MIN=INT(60*(DT/3600-HR)) 7 SEC=INT(60*(DT/60-INT(DT/60))) 8 TM$=RIGHT$(STR$(HR),2)+":"+RIGHT$(STR$(MIN),2)+":"+RIGHT$(STR$(SEC),2):RETURN 9 TM=3600*VAL(LEFT$(TM$,2))+60*VAL(MID$(TM$,4,2))+VAL(RIGHT$(TM$,2)):RETURN 10 CLS:PRINT@13,"RACE TIMING":PRINT@90,"by Jeremy Nichols" 11 PRINT@200,"Enter number of laps";:INPUTLAPS 12 PRINT@280,"Enter lap length in miles";:INPUTLE 13 CLS:PRINT@120," Press any key at start of race":PRINT@201,"Then press any key at end of each lap" 14 B$=INKEY$:IFB$=""THEN14 15 TM$=TIME$:GOSUB9:ST=TM:OT=TM 16 GOSUB52 17 FORI=1TOLAPS 18 B$=INKEY$:IFB$<>""THEN23 19 TM$=TIME$:GOSUB9: 20 DT=TM-OT:GOSUB5:LT$=TM$ 21 DT=TM-ST:GOSUB5 22 PRINT@280,"Lap time =";RIGHT$(LT$,5);" Total time =";TM$;:GOTO18 23 TM$=TIME$:GOSUB9 24 DT=TM-OT:GOSUB5:LT$(I)=TM$ 25 LS(I)=(3600*LE)/DT 26 DT=TM-ST:GOSUB5:TT$(I)=TM$ 27 AS(I)=(3600*LE*I)/DT 28 OT=TM:K=I:IFI>4THENK=4 29 GOSUB43 30 NEXTI 31 PRINT@280," [S]tart over [R]eview [Q]uit "; 32 B$=INKEY$:IFB$=""THEN32 33 IFB$="q"ORB$="Q"THENMENU 34 IFB$="s"ORB$="S"THEN10 35 IFB$<>"r"ANDB$<>"R"THEN32 36 GOSUB52 37 PRINT@300,"[Q]uit";:S$="":PRINT@280,"Start @ lap # "; 38 B$=INKEY$:IFB$=""THEN38 39 IFASC(B$)=81ORASC(B$)=113THEN31 40 IFASC(B$)<>13THEN41ELSE42 41 S$=S$+B$:PRINTB$;:GOTO38 42 I=3+VAL(S$):GOSUB43:PRINT@280,STRING$(39,32);:GOTO37 43 FORJ=1TOK 44 L=J-((I>4)*(I-4)) 45 PRINT@40*(J+1),SPACE$(3-LEN(STR$(L)));STR$(L); 46 PRINT" ";LT$(L);" "; 47 PRINTUSING"###.#";LS(L); 48 PRINT" ";TT$(L);" "; 49 PRINTUSING"###.#";AS(L) 50 NEXTJ 51 RETURN 52 CLS:PRINT@1,"Lap# Lap Time Speed Tot Time Avg Spd":PRINT@40,STRING$(40,45);:PRINT@240,STRING$(40,45);:RETURN