0 'HIWAY1.BA EJCarmody 11/29/87 1 'CLUB 100 Library - 415/939-1246 BBS, 937-5039 NEWSLETTER, 932-8856 VOICE 10 ONKEYGOSUB6000,7000,8000,9000,,,,10000:KEYON 20 CLS:CALL16959:CALL17001:PRINT@0,"HIGHWAY HELPER":CALL17006:PRINT 30 DEFINTI,K,Y:DEFSNGE,T:K1=1:INPUT"HIWAY FILE NAME";N$ 40 OPENN$FORINPUTAS1 50 IFEOF(1)THEN70 60 INPUT#1,H$,M:K=K+1:GOTO50 70 CLOSE:DIMH$(K),M(K) 100 INPUT"RETURN TRIP(Y/N)? RESUME(Y/N)";A$,C$ 110 IFC$="Y"ORC$="y"THENOPEN"ET.DO"FORINPUTAS2:INPUT#2,ET:CLOSE2:T$=TIME$:GOSUB20000:TS=T:GOTO130 120 FX=1 130 INPUT"STARTING CHECK POINT";K4 140 IFA$="Y"ORA$="y"THENK4=K+1-K4 150 K2=K4-1:K3=K4 160 IFK-K4<5THENK2=K-6 170 INPUT"ESTIMATED AVE. MPH (40-70)";DR 180 OPEN N$ FOR INPUTAS1 190 IFA$="Y"ORA$="y"THEN210 200 FORI=1TOK:INPUT#1,H$(I),M(I):NEXT:CLOSE:GOTO230 210 FORI=KTO1STEP-1:INPUT#1,H$(I),M(I):NEXT:CLOSE 220 FORI=KTO2STEP-1:M(I)=M(I-1):NEXT:M(1)=0 230 PRINT"TO START PROGRAM -----" 240 PRINT"PRESS ANY KEY AT ";H$(K4) 250 B$=INKEY$:IFB$=""THEN250 260 T$=TIME$:GOSUB20000:TB=T:T1=T:IFFX=0THENTD=T1-TS:ET=ET+TD 270 CLS:BEEP:CALL17001:PRINT@0,"HIGHWAY HELPER" 280 PRINT@22,LEFT$(N$,LEN(N$)-3):CALL17006:PRINT@30,"MPH:";INT(DR) 290 T1=T1+M(K3+1)/DR 300 GOSUB1000:IFK4=>K-5THENY=6-(K-K3):GOSUB2000:GOTO500 310 Y=K1:GOSUB2000 500 T$=TIME$:PRINT@15,LEFT$(TIME$,5) 510 GOSUB20000:T2=T 520 IFT2=>T1THENK1=K1+1:K3=K3+1:GOTO540 530 GOTO500 540 IFK3=KTHEN4000 550 T1=T1+M(K3+1)/DR 555 IFK4=>K-5THENY=6-(K-K3):GOSUB2000:GOTO500 560 IFK3=>K-2THENY=6-(K-K3):GOSUB2000:GOTO500 570 IFK1<=3THENY=K1:GOSUB2000:GOTO500 580 FORI=1TO6:PRINT@45+I*40,SPACE$(35):NEXT:K2=K2+1 590 GOSUB1000:GOTO500 1000 BEEP:FORI=1TO6 1010 PRINT@45+I*40,H$(I+K2) 1020 PRINT@70+I*40,M(I+K2);"MI." 1030 NEXT:RETURN 2000 BEEP:PRINT@41+(Y-1)*40,SPACE$(3):PRINT@41+Y*40,SPACE$(3) 2010 PRINT@41+Y*40,CHR$(232)CHR$(232)CHR$(254) 2020 PRINT@41+(Y+1)*40,CHR$(231)CHR$(231)CHR$(251):RETURN 4000 T$=TIME$:GOSUB20000:TX=T-(T2-T1) 4010 FORI=2TOK:DT=DT+M(I):NEXT 4020 IFFX=1THENDF=INT(DT/(TX-TB)+.5):GOTO4040 4030 ET=ET+(TX-TB):DF=INT(DT/ET+.5):KILL"ET.DO" 4040 PRINT@241,SPACE$(3):PRINT@281,"END":FORI=1TO5:BEEP:NEXT:PRINT@34,DF"*" 4050 GOTO4050 6000 T$=TIME$:KK=1:D$="!":GOSUB20000 6010 TX=T:GOSUB30000 6020 RETURN 7000 T$=TIME$:KK=2:D$="@":GOSUB20000 7010 TX=T:GOSUB30000 7020 RETURN 8000 T$=TIME$:KK=3:D$="#":GOSUB20000 8010 TX=T:GOSUB30000 8020 RETURN 9000 T$=TIME$:KK=4:D$="$":GOSUB20000 9010 TX=T:GOSUB30000 9020 RETURN 10000 BEEP:T$=TIME$:GOSUB20000:TX=T 10010 ET=ET+(TX-TB):OPEN"ET.DO"FOROUTPUTAS2:PRINT#2,ET:CLOSE2:POWER OFF 10020 RETURN 20000 T=VAL(LEFT$(T$,2))+VAL(MID$(T$,4,2))/60+VAL(RIGHT$(T$,2))/3600:RETURN 30000 M=0:FORI=1TOKK:M=M+M(K4+I):NEXT 30010 DX=INT(M/(TX-TB)+.5):IFDX>70ORDX<40THEN30050 30020 IFDXDRTHENDR=DX:PRINT@34,DR;D$:BEEP:BEEP:K1=K1+1:K3=K3+1:T1=TX+M(K3+1)/DX:GOTO555 30040 DR=DX:PRINT@34,DR;D$:BEEP:BEEP 30050 RETURN