home *** CD-ROM | disk | FTP | other *** search
/ Explore the World of Soft…ids, Adults, Educational / RocelcoInc-ExploreTheWorldOfSoftware-KidsAdultsEducational-Vol2-Shareware.iso / educate / disk116 / trucker.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1982-11-02  |  16.6 KB  |  386 lines

  1. 5  REM This program is Trucker
  2. 10  KEY OFF:WIDTH 80:CLS:DEFINT C-S
  3. 20  LOCATE 5,3:PRINT"KEYTHENTHENTHENTHENTHENTHENTHENTHENCLOSE";:LOCATE 6,3:PRINT"SCREENTHENTHENTHENCLOSEKEYTHENTHENTHENLOAD";:LOCATE 7,7:FOR X=1 TO 7:PRINT"OPENOPEN" CHR$(31) STRING$(2,29);:NEXT X:PRINT"SCREENLOAD";
  4. 30  LOCATE 5,14:PRINT"KEYTHENTHENTHENTHENTHENTHENTHENTHENCLOSE";:LOCATE 6,14:PRINT"OPENKEYTHENTHENTHENTHENTHENTHENCLOSEOPEN";:LOCATE 7,14:PRINT"OPENOPEN      OPENOPEN";:LOCATE 8,14:PRINT"OPENOPEN      OPENOPEN";:LOCATE 9,14:PRINT"OPENSCREENTHENTHENTHENTHENTHENTHENLOADOPEN";:LOCATE 10,14:PRINT"OPENKEYTHENTHENCLOSE KEYTHENTHENLOAD";
  5. 40  LOCATE 11,14:PRINT"OPENOPEN  SCREENCLOSESCREENCLOSE";:LOCATE 12,14:PRINT"OPENOPEN   SCREENCLOSESCREENCLOSE";:LOCATE 13,14:PRINT"OPENOPEN    SCREENCLOSESCREENCLOSE";:LOCATE 14,14:PRINT"SCREENLOAD     SCREENTHENLOAD";
  6. 50  LOCATE 5,25:PRINT"KEYCLOSE      KEYCLOSE";:FOR X=6 TO 12:LOCATE X,25:PRINT"OPENOPEN      OPENOPEN";:NEXT X:LOCATE 13,25:PRINT"OPENSCREENTHENTHENTHENTHENTHENTHENLOADOPEN";:LOCATE 14,25:PRINT"SCREENTHENTHENTHENTHENTHENTHENTHENTHENLOAD";
  7. 60  LOCATE 5,36:PRINT"KEYTHENTHENTHENTHENTHENTHENTHENTHENCLOSE";:LOCATE 6,36:PRINT"OPENKEYTHENTHENTHENTHENTHENTHENCLOSEOPEN";:LOCATE 7,36:PRINT"OPENOPEN      SCREENLOAD";:FOR X=8 TO 11:LOCATE X,36:PRINT"OPENOPEN";:NEXT X:LOCATE 12,36:PRINT"OPENOPEN      KEYCLOSE";:LOCATE 13,36:PRINT"OPENSCREENTHENTHENTHENTHENTHENTHENLOADOPEN";:LOCATE 14,36:PRINT"SCREENTHENTHENTHENTHENTHENTHENTHENTHENLOAD";
  8. 70  LOCATE 5,47:PRINT"KEYCLOSE   KEYTHENCLOSE";:LOCATE 6,47:PRINT"OPENOPEN  KEYLOADKEYLOAD";:LOCATE 7,47:PRINT"OPENOPEN KEYLOADKEYLOAD";:LOCATE 8,47:PRINT"OPENOPENKEYLOADKEYLOAD";:LOCATE 9,47:PRINT"OPENSCREENLOADKEYLOAD";:LOCATE 10,47:PRINT"OPENKEYCLOSESCREENCLOSE";:LOCATE 11,47:PRINT"OPENOPENSCREENCLOSESCREENCLOSE";:LOCATE 12,47:PRINT"OPENOPEN SCREENCLOSESCREENCLOSE";
  9. 80  LOCATE 13,47:PRINT"OPENOPEN  SCREENCLOSESCREENCLOSE";:LOCATE 14,47:PRINT"SCREENLOAD   SCREENTHENLOAD";
  10. 90  LOCATE 5,58:PRINT"KEYTHENTHENTHENTHENTHENTHENTHENTHENCLOSE";:LOCATE 6,58:PRINT"OPENKEYTHENTHENTHENTHENTHENTHENTHENLOAD";:LOCATE 7,58:PRINT"OPENOPEN";:LOCATE 8,58:PRINT"OPENOPEN";:LOCATE 9,58:PRINT"OPENSCREENTHENTHENTHENCLOSE";:LOCATE 10,58:PRINT"OPENKEYTHENTHENTHENLOAD";:LOCATE 11,58:PRINT"OPENOPEN";
  11. 100  LOCATE 12,58:PRINT"OPENOPEN";:LOCATE 13,58:PRINT"OPENSCREENTHENTHENTHENTHENTHENTHENTHENCLOSE";:LOCATE 14,58:PRINT"SCREENTHENTHENTHENTHENTHENTHENTHENTHENLOAD";
  12. 110  LOCATE 5,69:PRINT"KEYTHENTHENTHENTHENTHENTHENTHENTHENCLOSE";:LOCATE 6,69:PRINT"OPENKEYTHENTHENTHENTHENTHENTHENCLOSEOPEN";:LOCATE 7,69:PRINT"OPENOPEN      OPENOPEN";:LOCATE 8,69:PRINT"OPENOPEN      OPENOPEN";:LOCATE 9,69:PRINT"OPENSCREENTHENTHENTHENTHENTHENTHENLOADOPEN";:LOCATE 10,69:PRINT"OPENKEYTHENTHENCLOSE KEYTHENTHENLOAD";
  13. 120  LOCATE 11,69:PRINT"OPENOPEN  SCREENCLOSESCREENCLOSE";:LOCATE 12,69:PRINT"OPENOPEN   SCREENCLOSESCREENCLOSE";:LOCATE 13,69:PRINT"OPENOPEN    SCREENCLOSESCREENCLOSE";:LOCATE 14,69:PRINT"SCREENLOAD     SCREENTHENLOAD";
  14. 130  LOCATE 4,1:PRINT"KEY" STRING$(78,"THEN") "CLOSE";:FOR X=5 TO 14:LOCATE X,1:PRINT"OPEN";:LOCATE X,80:PRINT"OPEN";:NEXT X
  15. 135  LOCATE 15,1:PRINT"SCREEN" STRING$(37,"THEN") "CLOSE  KEY" STRING$(37,"THEN") "LOAD";
  16. 140  LOCATE 16,31:PRINT"KEYTHENTHENTHENTHENTHENTHENTHENLOADbySCREENTHENTHENTHENTHENTHENTHENTHENCLOSE";:LOCATE 17,31:PRINT"OPENHughes  GlantzbergOPEN";:LOCATE 18,29:PRINT"KEYTHENLOAD1602 Elizabeth Dr.SCREENTHENCLOSE";:LOCATE 19,29:PRINT"OPENCarrollton,  TX  75007OPEN";
  17. 150  LOCATE 20,29:PRINT"SCREEN" STRING$(22,"THEN") "LOAD";
  18. 155  TIMEOUT=4:GOSUB 59950
  19. 160  T$=TIME$:XX=VAL(LEFT$(T$,2))*120+VAL(MID$(T$,4,2))*60+VAL(RIGHT$(T$,2)):RANDOMIZE XX
  20. 170  DIM MT(2), MP(2,25), MP$(2,25), MR$(2,25), ZM(2,25), DS$(6), NT$(4)
  21. 180  DD$="$#,###":DC$="$#,###.##"
  22. 190  NT$(1)="first":NT$(2)="second":NT$(3)="third":NT$(4)="fourth"
  23. 200  DS$(0)="Monday":DS$(1)="Tuesday":DS$(2)="Wednesday":DS$(3)="Thursday":DS$(4)="Friday":DS$(5)="Saturday":DS$(6)="Sunday"
  24. 1000  CLS:XC=190:MF=0:HL=3:HS=7:HR=0:GOSUB 2100
  25. 1020  LOCATE 3,1:PRINT"You are at the Los Angeles trucking terminal."
  26. 1030  PRINT"Three types of cargo are available:"
  27. 1040  COLOR 15:PRINT:PRINT TAB(5)"1";:COLOR 7:PRINT"--oranges  (highest profit if they don't spoil)"
  28. 1050  COLOR 15:PRINT TAB(5)"2";:COLOR 7:PRINT"--freight forwarding  (penalty for late delivery)"
  29. 1060  COLOR 15:PRINT TAB(5)"3";:COLOR 7:PRINT"--U.S. Mail  (lowest rate, but no hurry to arrive)"
  30. 1070  PRINT:PRINT"The cargo is due in New York by 4 PM on Thursday."
  31. 1080  PRINT:PRINT"Which type of cargo do you want (";:COLOR 15:PRINT"1";:COLOR 7:PRINT", ";:COLOR 15:PRINT"2";:COLOR 7:PRINT", or ";:COLOR 15:PRINT"3";:COLOR 7:PRINT")?";
  32. 1090  GOSUB 59990:IF INSTR("123",IKEY$)=0 THEN 1090 ELSE CT=VAL(IKEY$):PRINTCT
  33. 1100  INPUT "How many pounds will you carry (40,000 is the legal limit)";WL
  34. 1110  IF WL<25000 THEN PRINT"You can't make a living on half a load.":GOTO 1100
  35. 1120  PRINT:PRINTTAB(5) "They are loading your truck now."
  36. 1130  RESTORE
  37. 1150  FOR RT=0 TO 2:READ NP, MT(RT):FOR I=1 TO NP
  38. 1170  READ MP(RT,I), MP$(RT,I), MR$(RT,I), ZM(RT,I):NEXT I,RT
  39. 1190  TC=10:WF=190:NP=1:TS=1:SL=55:XN=XN+1
  40. 1200  IF WL>50000 THEN WL=50000:PRINT"50,000 pounds of cargo has filled your trailer!":TIMEOUT=2:GOSUB 59950
  41. 1220  HR=HR+1:CLS:GOSUB 2100:LOCATE 3,1
  42. 1225  PRINT"You paid ";:COLOR 15:PRINT"$190.00";:COLOR 7:PRINT" for a nearly full tank of diesel fuel.":PRINT
  43. 1230  PRINT"Two of your tires are worn.  Do you want replacements (";:COLOR 15:PRINT"Y";:COLOR 7:PRINT" or ";:COLOR 15:PRINT"N";:COLOR 7:PRINT")?";
  44. 1235  GOSUB 59990:IF INSTR("ynYN",IKEY$)=0 THEN 1235
  45. 1240  IF IKEY$="n" OR IKEY$="N" THEN 1350
  46. 1245  PRINT"A new tire costs $200.00.  A retread costs $100.00."
  47. 1260  INPUT "     Which type do you want";Z$:Z$=LEFT$(Z$,1)
  48. 1270  INPUT "     How many";T
  49. 1280  IF T=3 THEN IF Z$="n" OR Z$="N" THEN TS=2:T=2:XC=XC+200
  50. 1290  IF T<0 OR T>2 THEN 1330
  51. 1300  IF T=0 THEN 1350
  52. 1310  IF Z$="r" OR Z$="R" THEN TC=TC-3*T:XC=XC+100*T:GOTO 1350
  53. 1315  IF Z$="n" OR Z$="N" THEN TC=TC-4*T:XC=XC+200*T:GOTO 1350
  54. 1330  PRINT"I did not understand your answers.":PRINT"Let's try again!":GOTO 1230
  55. 1350  PRINT:PRINT"You may choose the ";:COLOR 15:PRINT"n";:COLOR 7:PRINT"orthern, ";:COLOR 15:PRINT"m";:COLOR 7:PRINT"iddle or ";:COLOR 15:PRINT"s";:COLOR 7:PRINT"outhern route."
  56. 1360  PRINT"     Which route do you choose (";:COLOR 15:PRINT"n";:COLOR 7:PRINT", ";:COLOR 15:PRINT"m";:COLOR 7:PRINT" or ";:COLOR 15:PRINT"s";:COLOR 7:PRINT")? ";
  57. 1362  GOSUB 59990:IF INSTR("nmsNMS",IKEY$)=0 THEN 1362
  58. 1363  PRINT IKEY$:PRINT:PRINT
  59. 1365  IF IKEY$="n" OR IKEY$="N" THEN RT=1:RH=4:GOTO 1600
  60. 1370  IF IKEY$="m" OR IKEY$="M" THEN RT=0:RH=2:GOTO 1600
  61. 1375  RT=2:RH=1:GOTO 1600
  62. 1400  AF=SP^2*CD*CR
  63. 1420  IF AF>RND*1E+07 THEN GOTO 4000
  64. 1430  AF=SQR(MF+100)*TC
  65. 1440  IF AF>RH*25000*RND THEN GOSUB 2600
  66. 1450  IF SP>SL-RH+10 THEN GOSUB 2300
  67. 1460  HR=HR+1:HL=HL+1
  68. 1470  IF SL<40 THEN SL=55
  69. 1480  T=ABS(55-SP):IF T>12 THEN T=12.5
  70. 1490  T1=SP/(4.5-0.2*T)
  71. 1500  WF=WF-T1:IF WF<0 THEN GOSUB 2500
  72. 1510  MF=MF+SP
  73. 1520  IF MF>MT(RT) THEN 5000
  74. 1530  TIMEOUT=2:GOSUB 59950
  75. 1550  CLS:GOSUB 2100
  76. 1560  LOCATE 2,1:PRINT"Approximate fuel:";:COLOR 15:PRINTINT(WF-4+RND*10);:COLOR 7:PRINTTAB(36) "Speed: ";:COLOR 15:PRINTSP:COLOR 7
  77. 1570  PRINT"        Odometer: ";:COLOR 15:PRINTMF;:COLOR 7:PRINTTAB(30) "Miles to go: ";:COLOR 15:PRINTMT(RT)-MF:COLOR 7
  78. 1580  PRINT
  79. 1600  IF MP(RT,NP)<=MF THEN GOTO 3100 ELSE PRINT"Cruising on " MR$(RT,NP)
  80. 1610  GOSUB 3000:PRINT"You are feeling " CD$
  81. 1620  GOSUB 2800:PRINT"Current weather: " CR$
  82. 1630  NS=NS+1:IF NS>3 THEN GOSUB 1700
  83. 1640  INPUT "How fast do you wish to go (20-100)";SP
  84. 1650  IF SP<20 THEN PRINT"Your have to go at least 20 --";:GOTO 1640
  85. 1660  IF SP>INT(1.5*SL) THEN  SP=INT(1.5*SL):PRINT"You can only get the old rig to go" SP "MPH on this road."
  86. 1670  GOTO 1400
  87. 1700  REM
  88. 1710  PRINT"Truck stop ahead.  Do you want to stop (";:COLOR 15:PRINT"Y";:COLOR 7:PRINT" or ";:COLOR 15:PRINT"N";:COLOR 7:PRINT")? ";
  89. 1715  GOSUB 59990:IF INSTR("nyNY",IKEY$)=0 THEN 1715 ELSE PRINTIKEY$
  90. 1720  IF IKEY$="n" OR IKEY$="N" THEN S=1:HL=HL+1:RETURN
  91. 1740  T=85+INT(35*RND)
  92. 1750  PRINTUSING"Diesel fuel costs $#.## per gallon.";T/100
  93. 1760  INPUT "     How many gallons do you want";T1
  94. 1770  IF T1>0 THEN PRINTUSING"Pay $###.##";T*T1/100:XC=XC+T*T1/100:WF=WF+T1
  95. 1780  PRINT"So far, you have spent " USING DC$;XC
  96. 1790  IF WF>201 THEN PRINT"Your tank only holds 200 gallons --" INT(WF-200)" gallons spilled !!":WF=200
  97. 1800  IF TS>0 THEN 1900
  98. 1810  T=200+INT(50*RND):T1=100+INT(70*RND)
  99. 1820  PRINTUSING "A new tire costs $###.##.     A retread costs $###.##.";T,T1
  100. 1830  PRINT "     Do you want to buy a tire (";:COLOR 15:PRINT"Y";:COLOR 7:PRINT" or ";:COLOR 15:PRINT"N";:COLOR 7:PRINT")?";
  101. 1835  GOSUB 59990:IF INSTR("nyNY",IKEY$)=0 THEN 1835
  102. 1840  IF IKEY$="n" OR IKEY$="N" THEN 1900
  103. 1850  STOP
  104. 1900  HR=HR+1:NS=0
  105. 1910  PRINT"Do you want to get some sleep (";:COLOR 15:PRINT"Y";:COLOR 7:PRINT" or ";:COLOR 15:PRINT"N";:COLOR 7:PRINT")? ";
  106. 1915  GOSUB 59990:IF INSTR("nyNY",IKEY$)=0 THEN 1915 ELSE PRINT IKEY$
  107. 1920  IF IKEY$="n" OR IKEY$="N" THEN CLS:GOSUB 2100:LOCATE 5,1:RETURN
  108. 1930  INPUT "     How many hours of rest";T
  109. 1940  IF T<1 THEN RETURN
  110. 1950  DH=HR-24*INT(HR/24)
  111. 1960  HR=HR+T:TIMEOUT=4:GOSUB 59950:IF CT=1 THEN WF=WF-7*T:IF WF<0 THEN WF=0:GOSUB 2570
  112. 1970  IF DH>21 OR DH<12 THEN T=INT(T/2+0.6):PRINT"Thanks to the daytime noise, you got only"T"hours real sleep."
  113. 1980  HS=HS+T
  114. 1990  IF T>3 THEN HL=0 ELSE HL=HL/2
  115. 2000  PLAY "mbn50n0n50n0n50n0n50n0n50n0n50n0n50n0n50n0n50n0n50"
  116. 2010  CLS:GOSUB 2100:LOCATE 5,1:PRINT"Time to hit the road again."
  117. 2015  IF CT=1 THEN PRINT"You now have" INT(WF) "gallons of fuel.":PRINT"Do you want to buy more (";:COLOR 15:PRINT"Y";:COLOR 7:PRINT" or ";:COLOR 15:PRINT"N";:COLOR 7:PRINT")? "; ELSE RETURN
  118. 2017  GOSUB 59990:IF INSTR("nyNY",IKEY$)=0 THEN 2017 ELSE PRINT IKEY$
  119. 2020  IF IKEY$="n" OR IKEY$="N" THEN RETURN ELSE 1740
  120. 2100  DH=HR+8:DT=INT(DH/24):DH=DH-24*DT
  121. 2130  IF DT>6 THEN DT=DT-7:GOTO 2130
  122. 2140  DM$="AM":IF DH=12 THEN  DM$="Noon":GOTO 2200
  123. 2160  IF DH>12 THEN DH=DH-12:DM$="PM"
  124. 2170  IF DH=0 THEN DH=12:DH$="Midnight"
  125. 2200  REM
  126. 2210  LOCATE 1,13:PRINT"Day: ";:COLOR 15:PRINT DS$(DT);:COLOR 7:PRINT TAB(37) "Time: ";:COLOR 15:PRINT DH DM$ "       ":COLOR 7
  127. 2220  RETURN
  128. 2300  REM
  129. 2310  IF (SP-SL+2*RH-5)^2<900*RND THEN RETURN
  130. 2320  PRINT"Smokey is behind you with his lights on.  Pull over!"
  131. 2340  TIMEOUT=2:GOSUB 59950
  132. 2350  NT=NT+1:PRINT"See the justice of the peace for your " NT$(NT) " offense."
  133. 2360  PRINT"     Wait" NT "hours for your hearing."
  134. 2370  HR=HR+NT:HL=HL+NT
  135. 2380  IF NT>3 THEN 2430
  136. 2390  T=INT(NT*(RND*5)):T1=INT(5*(RT+NT*(RND*4)))
  137. 2400  PRINTUSING"     The fine is $###.## plus $##.## for each MPH over the limit.";T1,T
  138. 2410  PRINT"     Pay ";:COLOR 15:PRINTUSING DD$;T1+T*(SP-SL):COLOR 7:XC=XC+T1+T*(SP-SL)
  139. 2420  TIMEOUT=8:GOSUB 59950:RETURN
  140. 2430  PRINT"  You are sentenced to 30 days in jail for reckless driving."
  141. 2440  TIMEOUT=2:GOSUB 59950
  142. 2450  PRINT"Your I.C.C. driver's license is revoked !"
  143. 2460  GOTO 5500
  144. 2500  T1=T1+WF:WF=0:SP=0
  145. 2510  T=(4.5-0.2*T)*T1:MF=MF+T
  146. 2520  PRINT"After"T"more miles, you ran out of fuel  (";:COLOR 15:PRINT"DUMMY !!";:COLOR 7:PRINT")"
  147. 2540  PRINT"     It cost $200 to get a barrel of diesel delivered."
  148. 2550  WF=55:T1=INT(RND*5):HR=HR+T1:ZC=ZC+200:HL=HL+T1
  149. 2560  PRINT"          You also wasted"T1"hours by your carelessness."
  150. 2570  IF CT=1 THEN CX=CX+INT(RND*3):PRINT"     Sitting with the refer unit off is damaging the oranges."
  151. 2580  TIMEOUT=1:GOSUB 59950
  152. 2590  RETURN
  153. 2600  FOR I=80 TO 1 STEP -5:PLAY "n"+STR$(I):NEXT I
  154. 2620  PRINT"Your just blew a tire !!"
  155. 2630  IF TS=0 THEN 2710
  156. 2640  TC=TC-2*TS:TS=0
  157. 2650  T=INT(RND*2)+1:IF T=1 THEN T$="outside" ELSE T$="inside"
  158. 2660  PRINT"     It took"T"hours to change the " T$ " tire.":HR=HR+T:HL=HR+T+1
  159. 2670  TIMEOUT=2:GOSUB 59950:RETURN
  160. 2710  PRINT"Since your spare has already been used, you have to call a tow truck":PRINT"from town to deliver a new tire for you."
  161. 2720  PRINT"     This service cost $400.00 and took 4 hours."
  162. 2730  HR=HR+4:HL=HL+4:XC=XC+400
  163. 2740  TIMEPUT=2:GOSUB59950:RETURN
  164. 2800  REM
  165. 2810  AF=(3000+MF)*RND:ON RT+1 GOTO 2870,2820,2910
  166. 2820  IF AF<3300 AND CR<>50 THEN 2960
  167. 2830  IF AF>4800 THEN 2965
  168. 2840  IF AF>4600 THEN 2970
  169. 2850  IF AF>3800 THEN 2975
  170. 2860  GOTO 2985
  171. 2870  IF AF<3400 AND CR<>50 THEN 2960
  172. 2880  IF AF>4900 THEN 2965
  173. 2890  IF AF>4700 THEN 2970
  174. 2900  IF AF>4200 THEN IF INT(RND*3)+1=1 THEN 2975 ELSE 2980
  175. 2905  GOTO 2985
  176. 2910  IF AF<4000 AND CR<>50 THEN 2960
  177. 2920  IF AF>5700 THEN 2965
  178. 2930  IF AF>5500 THEN 2970
  179. 2940  IF AF>4400 THEN 2980
  180. 2950  GOTO 2985
  181. 2960  CR=1:CR$="clear & dry":RETURN
  182. 2965  CR=50:CR$="B-L-I-Z-Z-A-R-D  !!":RETURN
  183. 2970  CR=10:CR$="fog -- limited visibility":RETURN
  184. 2975  CR=5:CR$="light snow":RETURN
  185. 2980  CR=5:CR$="rain":RETURN
  186. 2985  CR=3:CR$="clear, but roadway is wet":RETURN
  187. 3000  REM
  188. 3010  IF HL>19 OR HR/HS>4 THEN CD=100:CD$="..E.X.H.A.U.S.T.E.D..":RETURN
  189. 3020  IF HL<4 AND COS(HR/HS)<2.3 THEN CD=1:CD$="rested & rearing to go.":RETURN
  190. 3030  IF HL<8 AND COS(HR/HS)<2.5 THEN CD=2:CD$="fine":RETURN
  191. 3040  IF HL<12 AND HR/HS<=3 THEN CD=4:CD$="  b o r e d":RETURN
  192. 3050  IF HL<16 AND HR/HS<=3 THEN CD=8:CD$="  t i r e d  !!":RETURN
  193. 3060  CD=25:CD$="fatigued...you're getting sleepy":RETURN
  194. 3100  REM
  195. 3110  PRINT"You have just passed " MP$(RT,NP)
  196. 3120  ZH=ZM(RT,NP):SL=55
  197. 3130  ON INT(ZH) GOSUB 3210, 3310, 3360, 3410, 3500, 3710, 3860
  198. 3140  NP=NP+1:IF INT(ZH)=8 THEN 5000 ELSE TIMEOUT=5:GOSUB 59950:FOR I=5 TO 11:LOCATE I,1:PRINT SPACE$(70):NEXT I:LOCATE 5,1:GOTO 1600
  199. 3210  PRINT"Time zone changes -- set clock ahead one hour."
  200. 3220  HR=HR+1:GOSUB 2100
  201. 3230  RETURN
  202. 3310  T=100*(ZH-INT(ZH))
  203. 3320  PRINT"STOP!   Pay toll of " USING"$##.##";T
  204. 3330  XC=XC+T
  205. 3340  RETURN
  206. 3360  IF RND<ZH-INT(ZH) THEN RETURN
  207. 3370  PRINT"Construction ahead !!":TIMEOUT=2:GOSUB 59950
  208. 3380  PRINT"Slow down -- speed limit 35 MPH":SL=35
  209. 3390  RETURN
  210. 3410  IF RND<ZH-INT(ZH) THEN RETURN
  211. 3420  T=SP+RND*5-2
  212. 3430  PRINT"You were just clocked by radar at" T "MPH."
  213. 3440  IF T>SL+3 THEN GOSUB 2320 ELSE PRINT"     No ticket this time."
  214. 3450  RETURN
  215. 3500  IF ZH=INT(ZH) THEN IF RND<0.5 THEN 3520 ELSE RETURN
  216. 3510  IF RND<ZH-INT(ZH) THEN RETURN
  217. 3520  PRINT"Weighing station open -- trucks must stop.":TIMEOUT=2:GOSUB 59950
  218. 3530  PRINT"Scale weighs truck with cargo, fuel & driver: ";
  219. 3540  T=19000+WL+7*WF+25*(INT(RND*10))
  220. 3550  PRINTUSING"##,### pounds.";T
  221. 3560  T=INT(T-60000)
  222. 3570  IF T<1 THEN PRINT"     You're O.K.":RETURN
  223. 3580  IF ZH=5 THEN 3630
  224. 3590  T1=INT(RND*4)+2:PRINT"     Overweight fine is $200.00 plus" T1 "cents/pound."
  225. 3600  XC=XC+200+(T*T1)/100
  226. 3610  PRINT"Pay fine of ";:COLOR 15:PRINTUSING DC$;200+(T*T1)/100:COLOR 7
  227. 3620  RETURN
  228. 3630  REM
  229. 3640  PRINT"You are not allowed to enter Louisiana with that load."
  230. 3650  PRINT"     Take a 200 mile detour through Arkansas with 45 MPH limit."
  231. 3660  SL=45:MR$(RT,NP)="Arkansas county roads"
  232. 3670  FOR I=12 TO 25:MP(RT,I)=MP(RT,I)+200:NEXT I
  233. 3680  MT(RT)=MT(RT)+200
  234. 3690  RETURN
  235. 3710  IF RND<ZH-INT(ZH) THEN RETURN
  236. 3720  T=INT(RND*6)
  237. 3730  PRINT"A rock slide has blocked the Alleghany Tunnel entrance."
  238. 3740  PRINT "     THE HIGHWAY DEPARTMENT WILL HAVE IT CLEARED IN"T"HOURS."
  239. 3750  HR=HR+T:TIMEOUT=2:GOSUB 59950:IF CT=1 THEN WF=WF-7*T:IF WF<=1 THEN GOSUB 3820
  240. 3760  IF T>1 THEN T1=INT(T/2+0.5) ELSE T1=0
  241. 3770  IF T1>3 THEN HL=0 ELSE IF T1>0 THEN HL=HL/2
  242. 3780  HS=HS+T1
  243. 3790  PRINT"     While waiting, you got"T1"hours of sleep"
  244. 3800  GOSUB 2100:RETURN
  245. 3820  PRINT"     You ran out of gas while waiting":T=0:GOSUB 2540
  246. 3830  RETURN
  247. 3860  IF CT>1 THEN RETURN
  248. 3870  IF RND<ZH-INT(ZH) THEN RETURN
  249. 3880  PRINT"The trailer refrigeration unit has failed endangering the cargo."
  250. 3890  PRINT"     Repairs take 2 hours and cost $100.00."
  251. 3900  CX=CX+INT(RND*5):HR=HR+2:HL=HL+2:XC=XC+100
  252. 3910  GOSUB 2100:TIMEOUT=2:GOSUB 59950
  253. 3920  RETURN
  254. 4000  FOR I=80 TO 1 STEP -5:PLAY "n"+STR$(I):NEXT I
  255. 4020  FOR I=1 TO 6
  256. 4030  CLS:FOR J=1 TO 100:NEXT J
  257. 4040  LOCATE 12,34:PRINT"C R A S H !!"
  258. 4050  FOR J=1 TO 100:NEXT J,I
  259. 4060  PRINT
  260. 4070  IF CD=100 OR (CD=25 AND SP<65) THEN PRINT"You fell asleep at the wheel.":GOTO 4130
  261. 4080  IF CR=50 THEN PRINT"You drove off the road into a snow filled ditch.":GOTO 4130
  262. 4090  IF CR=10 THEN PRINT"You rear-ended a pick-up with no tail lights.":GOTO 4130
  263. 4100  IF SP>65 THEN PRINT"        Speed kills !":GOTO 4130
  264. 4110  IF CR>2 THEN PRINT"You hit a slick spot":PRINT"  and skidded off the road.":GOTO 4130
  265. 4120  PRINT"A drunk driver rammed your rig.":PRINT"        Tough luck !"
  266. 4130  PRINT:TIMEOUT=2:GOSUB 59950
  267. 4140  PRINT"You lose your truck & profits.":PRINT
  268. 4150  PRINT:PRINT"Do you want to start over (";:COLOR 15:PRINT"Y";:COLOR 7:PRINT" or ";:COLOR 15:PRINT"N";:COLOR 7:PRINT")?";
  269. 4155  GOSUB 59990:IF INSTR("nyNY",IKEY$)=0 THEN 4155
  270. 4160  IF IKEY$="n" OR IKEY$="N" THEN RUN "b:???0??"
  271. 4170  XP=0:NT=0:CLS:GOTO 1000
  272. 5000  FOR I=1 TO 5
  273. 5020  CLS:FOR J=1 TO 60:NEXT J
  274. 5030  LOCATE 12,37:PRINT"WELCOME":LOCATE 13,40:PRINT"TO":LOCATE 14,36:PRINT"NEW YORK"
  275. 5040  FOR J=1 TO 60:NEXT J,I
  276. 5050  TIMEOUT=1:GOSUB 59950:CLS
  277. 5100  GOSUB 2100:LOCATE 5,1
  278. 5110  T=HR-INT(HR/24):IF T<10 OR T>21 THEN 5140
  279. 5120  PRINT"The warehouse is closed for the night.  Come back tomorrow."
  280. 5130  T=24-T:HR=HR+T:TIMEOUT=2:GOSUB 59950:GOSUB 2100
  281. 5140  PRINT:T=INT(HR/24):T1=HR-24*T
  282. 5150  PRINT"You completed the trip in"T"days";
  283. 5160  IF T1>1 THEN PRINT" &"T1"hours." ELSE PRINT"."
  284. 5170  PRINTUSING"     Trip expenses totaled $#,###.##";XC
  285. 5180  T1=85*T+85:PRINT USING"     Truck payment, insurance and taxes cost $#,###";T1
  286. 5190  XC=XC+T1:PRINT
  287. 5200  ON CT GOTO 5220, 5310, 5360
  288. 5220  T1=(T-4)*INT(RND*3):IF T1>0 THEN CX=CX+T1
  289. 5230  IF CX>6 THEN PRINT"Your oranges have spoiled.  Haul them to the dump!":XT=-50:GOTO 5400
  290. 5240  PRINT"Collect six-and-a-half cents per pound for good oranges."
  291. 5250  XT=0.065*WL:PRINTUSING"     Total for the load: $#,###.##";XT
  292. 5260  IF CX<1 THEN 5400
  293. 5270  PRINTUSING"     Part of the load is damaged.  Subtract ##%.";5*CX
  294. 5280  XT=XT-XT*CX/20:PRINTUSING"     Net payment is $#,###.##.";XT
  295. 5290  GOTO 5400
  296. 5310  XT=0.05*WL:PRINT"Collect five cents a pound for freight."
  297. 5320  PRINTUSING"     Total for load = $#,###.##";XT
  298. 5330  IF HR<95 THEN 5400
  299. 5340  CX=2:PRINT"     You're late!!  Subtract ten percent penalty.":GOTO 5400
  300. 5360  PRINT"Postmaster pays 4.75 cents per pound on delivery.":XT=0.0475*WL:CX=0:GOTO 5400
  301. 5400  PRINT:XT=XT-XC:XP=XP+XT:IF XT<0 THEN 5470
  302. 5410  PRINTUSING"Your net profit this trip was $#,###.##";XT
  303. 5420  IF XT>100 THEN PRINT"     G O O D   W O R K  !!"
  304. 5430  IF XN>1 THEN PRINTUSING"     Your average profit has been $#,###.##";XP/XN
  305. 5440  IF XT<200 OR XP/XN<250 THEN PRINT"     You'd make more money washing dishes !"
  306. 5450  PRINT:PRINT:PRINT"Do you want to make another trip (";:COLOR 15:PRINT"Y";:COLOR 7:PRINT" or ";:COLOR 15:PRINT"N";:COLOR 7:PRINT")? ";
  307. 5455  GOSUB 59990:IF INSTR("nyNY",IKEY$)=0 THEN 5455 ELSE PRINTIKEY$
  308. 5460  IF IKEY$="n" OR IKEY$="N" THEN CLS:RUN "b:???0??" ELSE 1000
  309. 5470  PRINTUSING"Bad trip. . . You lost $#,###.##";ABS(XT)
  310. 5480  IF XP>=0 THEN GOTO 5430
  311. 5490  PRINT"     You are bankrupt !!!"
  312. 5500  TIMEOUT=4:GOSUB 59950
  313. 5520  PRINT:PRINT"Your rig has been repossessed."
  314. 5530  PRINT:TIMEOUT=5:GOSUB 59950:RUN "menu"
  315. 9030  DATA 21,2850
  316. 9040  DATA 90,Barstow,I-15 in California,7.80
  317. 9050  DATA 225,Needles,I-40 in California,1
  318. 9060  DATA 440,Flagstaff,I-40 in California,3.65
  319. 9070  DATA 620,Gallup,I-40 in Arizona,5.5
  320. 9080  DATA 760,Albuquerque,I-40 in New Mexico,3.35
  321. 9090  DATA 930,Tucumcari,I-40 in New Mexico,1
  322. 9100  DATA 1040,Amarillo,I-40 in Texas,7.8
  323. 9110  DATA 1155,Oklahoma border,I-40 in Texas,5.5
  324. 9120  DATA 1305,Oklahoma City,I-40 in Oklahoma,2.65
  325. 9130  DATA 1530,Missouri border,Oklahoma Turnpike,2.40
  326. 9140  DATA 1815,St. Louis,I-44 in Missouri,0
  327. 9150  DATA 1980,Terre Haute,I-70 in Illinois,5.5
  328. 9160  DATA 2050,Indianapolis,I-70 in Indianna,0
  329. 9170  DATA 2115,Ohio border,I-70 in Indianna,1
  330. 9180  DATA 2220,Columbus,I-70 in Ohio,5.5
  331. 9190  DATA 2350,Wheeling West Virginia,I-70 in Ohio,4.25
  332. 9200  DATA 2410,New Stanton,I-70 in Pennsylvania,6.75
  333. 9210  DATA 2570,Harrisburg,Pennsylvania Turnpike,3.75
  334. 9220  DATA 2760,New Jersey border,Pennsylvania Turnpike,2.95
  335. 9230  DATA 2840,Holland Tunnel,I-70 in New Jersey,2.4
  336. 9240  DATA 9999,New York,New York streets,0
  337. 9250  DATA 18,2710
  338. 9260  DATA 90,Barstow,I-15 in California,7.8
  339. 9270  DATA 245,Las Vegas,I-15 in California,1
  340. 9280  DATA 365,Utah border,I-15 in Arizona,0
  341. 9290  DATA 500,End of Interstate,I-15 in Utah,3.2
  342. 9300  DATA 555,Salina,US-89 in Utah,4.5
  343. 9310  DATA 760,Grand Junction,I-70 in Utah,5.4
  344. 9320  DATA 1010,Denver,I-70 in Colorado,3.75
  345. 9330  DATA 1190,Nebraska border,I-76 in Colorado,1
  346. 9340  DATA 1450,Omaha,I-80 in Nebraska,5.5
  347. 9350  DATA 1590,Demoines,I-80 in Iowa,4.75
  348. 9360  DATA 1750,Illinois border,I-80 in Iowa,5.6
  349. 9370  DATA 1910,Gary,I-80 in Illinois,2.5
  350. 9380  DATA 2050,Ohio border,Indianna Turnpike,2.45
  351. 9390  DATA 2215,Cleveland,Ohio Turnpike,2.8
  352. 9400  DATA 2280,Pennsylvania border,I-80 in Ohio,4.16
  353. 9410  DATA 2615,East Stroudsberg,I-80 in Pennsylvania,3.33
  354. 9420  DATA 2675,Washington Bridge,I-80 in New Jersey,2.2
  355. 9430  DATA 9999,New York,city streets,0
  356. 9450  DATA 25,3120
  357. 9460  DATA 75,Palm Springs,I-10 in California,0
  358. 9470  DATA 225,Blythe,I-10 in California,1
  359. 9480  DATA 375,Phoenix,I-10 in Arizona,0
  360. 9490  DATA 495,Tucson,I-10 in Arizona,7.9
  361. 9500  DATA 650,Lordsburg,I-10 in Arizona,5.75
  362. 9510  DATA 795,El Paso,I-10 in New Mexico,0
  363. 9520  DATA 965,Pecos,I-10 in Texas,1
  364. 9530  DATA 1080,Odessa,I-20 in Texas,0
  365. 9540  DATA 1250,Abilene,I-20 in Texas,3.8
  366. 9550  DATA 1439,Dallas,I-20 in Texas,0
  367. 9560  DATA 1610,Louisiana border,I-20 in Texas,5
  368. 9570  DATA 1785,Vicksburg,I-20 in Louisiana,0
  369. 9580  DATA 1965,Alabama border,I-20 in Mississippi,1
  370. 9590  DATA 2100,Birmingham,I-20 in Alabama,4.25
  371. 9600  DATA 2200,Georgia border,I-20 in Alabama,0
  372. 9610  DATA 2255,Atlanta,I-20 in Georgia,0
  373. 9620  DATA 2320,Carolina border,I-85 in Georgia,5.75
  374. 9630  DATA 2565,Greensboro,I-85 in Carolina,3.8
  375. 9640  DATA 2680,Virginia border,I-85 in North Carolina,7.85
  376. 9650  DATA 2775,Richmond,I-85 in Virginia,0
  377. 9660  DATA 2880,Washington D.C.,I-95 in Virginia,0
  378. 9670  DATA 2920,Baltimore,I-95 in Maryland,2.3
  379. 9680  DATA 2990,New Lersey border,I-95 in Delaware,2.25
  380. 9690  DATA 3110,Holland Tunnel,New Jersey Turnpike,2.4
  381. 9700  DATA 9999,New York,city streets,0
  382. 59950  TIMEOUT$=TIME$:TIME2=VAL(LEFT$(TIMEOUT$,2))*120+VAL(MID$(TIMEOUT$,4,2))*60+VAL(RIGHT$(TIMEOUT$,2))
  383. 59960  TIMEOUT$=TIME$:TIME3=VAL(LEFT$(TIMEOUT$,2))*120+VAL(MID$(TIMEOUT$,4,2))*60+VAL(RIGHT$(TIMEOUT$,2))
  384. 59970  IF TIMEOUT > TIME3 - TIME2 THEN 59960 ELSE RETURN
  385. 59990  IKEY$=INKEY$:IF IKEY$="" THEN 59990 ELSE RETURN
  386.