home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.whtech.com
/
ftp.whtech.com.tar
/
ftp.whtech.com
/
club100
/
bus
/
hiway1.ba
< prev
next >
Wrap
Text File
|
2006-10-19
|
3KB
|
78 lines
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 IFDX<DRTHENT1=TX+M(K3+1)/DX:GOTO30040
30030 IFDX>DRTHENDR=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