0 'TIMING.200 by Jeremy Nichols Copyright 1989 1 CLEAR2000:DIMLT$(99),LS(99),TT$(99),AS(99):SCREEN0,0:GOTO7 2 HR=INT(DT/3600) 3 MIN=INT(60*(DT/3600-HR)) 4 SEC=INT(60*(DT/60-INT(DT/60))) 5 TM$=RIGHT$(STR$(HR),2)+":"+RIGHT$(STR$(MIN),2)+":"+RIGHT$(STR$(SEC),2):RETURN 6 TM=3600*VAL(LEFT$(TM$,2))+60*VAL(MID$(TM$,4,2))+VAL(RIGHT$(TM$,2)):RETURN 7 CLS:PRINT@13,"RACE TIMING":PRINT@90,"by Jeremy Nichols" 8 PRINT@280,"Enter number of laps";:INPUTLAPS 9 PRINT@280,"Enter lap length in miles";:INPUTLE 10 CLS:PRINT@280," Press any key at start of race":PRINT@361,"Then press any key at end of each lap" 11 B$=INKEY$:IFB$=""THEN11 12 TM$=TIME$:GOSUB6:ST=TM:OT=TM 13 GOSUB49 14 FORI=1TOLAPS 15 B$=INKEY$:IFB$<>""THEN20 16 TM$=TIME$:GOSUB6: 17 DT=TM-OT:GOSUB2:LT$=TM$ 18 DT=TM-ST:GOSUB2 19 PRINT@600,"Lap time =";RIGHT$(LT$,5);" Total time =";TM$;:GOTO15 20 TM$=TIME$:GOSUB6 21 DT=TM-OT:GOSUB2:LT$(I)=TM$ 22 LS(I)=(3600*LE)/DT 23 DT=TM-ST:GOSUB2:TT$(I)=TM$ 24 AS(I)=(3600*LE*I)/DT 25 OT=TM:K=I:IFI>12THENK=12 26 GOSUB40 27 NEXTI 28 PRINT@600," [S]tart over [R]eview [Q]uit "; 29 B$=INKEY$:IFB$=""THEN29 30 IFB$="q"ORB$="Q"THENMENU 31 IFB$="s"ORB$="S"THEN7 32 IFB$<>"r"ANDB$<>"R"THEN29 33 GOSUB49 34 PRINT@620,"[Q]uit";:S$="":PRINT@600,"Start @ lap # "; 35 B$=INKEY$:IFB$=""THEN35 36 IFASC(B$)=81ORASC(B$)=113THEN28 37 IFASC(B$)<>13THEN38ELSE39 38 S$=S$+B$:PRINTB$;:GOTO35 39 I=11+VAL(S$):GOSUB40:PRINT@600,STRING$(39,32);:GOTO34 40 FORJ=1TOK 41 L=J-((I>12)*(I-12)) 42 PRINT@40*(J+1),SPACE$(3-LEN(STR$(L)));STR$(L); 43 PRINT" ";LT$(L);" "; 44 PRINTUSING"###.#";LS(L); 45 PRINT" ";TT$(L);" "; 46 PRINTUSING"###.#";AS(L) 47 NEXTJ 48 RETURN 49 CLS:PRINT@1,"Lap# Lap Time Speed Tot Time Avg Spd":PRINT@40,STRING$(40,45);:PRINT@240,STRING$(40,45);:RETURN