Tollbooth

Developer(s): Gene G. Buza
Date: September 1983
Type: Program
Platform(s): TS 1000

Content

Appears On

Cassette to accompany the September 1983 issue of Synchro-Sette.

Related Products

Related Articles

Related Content

Image Gallery

Source Code

  10 FAST 
  20 DIM S(32)
  30 PRINT AT 10,0;"HOW MANY VEHICLES?"
  40 SLOW 
  50 INPUT HH
  60 FAST 
  70 CLS 
  75 PRINT AT 6,12;"\:'\''\''\''\''\''\''\':";AT 7,12;"\: $     \ :";AT 8,12;"\:.\..\..\..\..\..\..\.:"
  80 PRINT AT 18,1;"\:'\''\''\''\''\':";AT 19,1;"\: TOLL\ :";AT 20,1;"\:.\..\..\..\..\.:"
  90 PRINT AT 18,25;"\:'\''\''\''\''\''\':";AT 19,25;"\: BOOTH\ :";AT 20,25;"\:.\..\..\..\..\..\.:"
 100 LET A$="\:'\''\''\:  \ :\:  \ :\:  \ :\:  \ :\@@\@@\:  \ :\:  \ :\:  \ :\:  \ :\''\''\':"
 110 PRINT AT 1,0;A$
 120 PRINT AT 21,11;"\''\''\:     \ :\''\''"
 130 FOR N=2 TO 40
 140 PLOT 24-24*SIN (N/72*PI),N
 150 NEXT N
 160 FOR N=2 TO 40
 170 PLOT 39+24*SIN (N/72*PI),N
 180 NEXT N
 185 FOR Q=1 TO HH
 190 GOSUB 3000
 195 SLOW 
 200 LET R=RND
 210 IF R>.9 THEN LET A$="%T"
 220 IF R<.9 THEN LET A$="%C"
 230 GOSUB 2000
 300 FOR N=8 TO 2 STEP -1
 305 IF I<4 THEN LET I=4
 306 IF RR=0 AND I>13 THEN LET I=13
 307 IF I<18 AND RR=1 THEN LET I=18
 308 IF I>27 THEN LET I=27
 310 PRINT AT N,I;A$;AT N+1,II;" "
 320 LET II=I
 330 LET I=I+(INT (RND*3)-1)
 350 NEXT N
 355 IF II=0 THEN STOP 
 360 PRINT AT 2,II;" "
 370 GOSUB 4000
 390 NEXT Q
 396 PAUSE 40000
 397 FAST 
 398 CLS 
 399 RUN 
\n1000 IF A$="%T" THEN GOTO 1500
\n1010 LET RRR=INT (2*RND)
\n1020 IF RRR=1 THEN GOTO 1500
\n1030 LET I=I+(INT (RND*3)-1)
\n1100 RETURN 
\n1500 LET I=I+(INT (RND*3)-1)
\n1510 RETURN 
\n2000 FOR N=20 TO 16 STEP -1
\n2010 PRINT AT N,I;A$;AT N+1,II;" "
\n2020 NEXT N
\n2100 LET RR=INT (2*RND)
\n2110 IF A$="%T" THEN LET RR=1
\n2115 IF A$="%T" THEN GOTO 2500
\n2120 IF RR=1 THEN GOTO 2500
\n2130 FOR N=15 TO 9 STEP -1
\n2140 PRINT AT N,I;A$;AT N+1,II;" "
\n2150 LET II=I
\n2160 LET I=I-1
\n2170 NEXT N
\n2180 RETURN 
\n2500 FOR N=15 TO 9 STEP -1
\n2510 PRINT AT N,I;A$;AT N+1,II;" "
\n2520 LET II=I
\n2530 LET I=I+1
\n2540 NEXT N
\n2550 RETURN 
\n3000 LET I=15
\n3010 LET II=15
\n3020 RETURN 
\n4000 IF RR=0 THEN LET I=3*INT ((I/3)+1.5)-2
\n4002 IF RR=1 THEN LET I=3*INT ((I/3)+1.5)-3
\n4005 LET S(I)=S(I)+1
\n4010 PRINT AT 1,I;A$
\n4030 FOR N=1 TO 10
\n4040 NEXT N
\n4050 PRINT AT 1,I;"%*"
\n4060 FOR N=1 TO 10
\n4070 NEXT N
\n4080 PRINT AT 1,I;" "
\n4090 PRINT AT 0,I;S(I)
\n4100 IF A$="%C" THEN LET S(32)=S(32)+.3
\n4110 IF A$="%T" THEN LET S(32)=S(32)+.6
\n4115 GOSUB 5000
\n4120 PRINT AT 7,14;S$
\n4130 RETURN 
\n5000 LET S$=STR$ S(32)
\n5010 IF LEN S$=1 THEN LET S$=S$+".00"
\n5020 IF S$(LEN S$-1)="." THEN LET S$=S$+"0"
\n5030 RETURN 
\n9998 SAVE "TOLLBOOT%H"
\n9999 RUN 
Scroll to Top