Listing of file='RTRACK.BAS;01' on disk='vmedia/word_puzzle-sector.ccvf'
10 PLOT 27,24:PLOT 12:PLOT 6,3 15 PLOT 14:PLOT 3,24,1:PRINT "VECTOR RACETRACK" 20 PLOT 3,0,5:PRINT "PRE RACE BRIEFING" 25 PLOT 15:PLOT 3,0,9 30 PRINT "1 THE RACE IS OF ONE LAP....LEFT HAND CIRCUIT" 35 PLOT 3,0,13 40 PRINT "2 A CAR MAKES ONE CHANGE TO ITS SPEED EACH TURN" 45 PLOT 3,0,17 50 PRINT "3 A COLLISION WITH A WALL WILL LOSE 2 TURNS" 55 PLOT 3,0,21 60 PRINT "4 A COLLISION WITH THE OTHER CAR WILL LOSE 2 TURNS" 65 PLOT 3,0,25 70 PRINT "5 THE LAP RECORD IS 44 TURNS....BEAT THAT!!!" 75 PLOT 14:PLOT 3,10,31:PRINT " PRESS...C...THEN RETURN TO CONTINUE" 80 PLOT 3,60,31:INPUT C$ 85 IF C$= "C"THEN 200 90 PLOT 6,0:PLOT 3,60,31:PRINT " " 100 PLOT 6,3:GOTO 80 200 DIM X(6),Y(6) 201 DIM M(2),T(2):REM SUBROUTINE MODULII AND LINE PARAMETERS 202 DIM XR(2),YR(2):REM CAR COORDINATES 203 DIM XC(2),YC(2):REM VECTOR COMPONENTS 450 PLOT 3,26,12:PRINT " ":PLOT 3,34,12:PRINT " " 455 PLOT 3,38,12:PRINT " ":PLOT 3,44,12:PRINT " " 999 PLOT 27,24:PLOT 6,7:PLOT 12 1000 PLOT 2,1,3,242,126,3,126,84,50,84,50,124,1,124,1,3,255 1010 PLOT 2,14,20,242,113,20,113,67,37,67,37,103,14,103,14,20,255 1020 PLOT 3,32,1:REM SET CURSOR 1030 PLOT 14:REM SET LARGE LETTERS 1040 PLOT 6,28:REM SET BG YELLOW FG BLUE 1050 PRINT " " 1051 PLOT 3,32,3 1052 PRINT " VECTOR RACETRACK " 1053 PLOT 3,32,5 1054 PRINT " " 1060 PLOT 3,8,17:PLOT 6,32:REM SET CURSOR AND BG BLUE 1070 PLOT 14: 1080 PRINT " BLUE CAR " 1090 PLOT 3,47,17:PLOT 6,8 1100 PRINT " RED CAR " 1105 PLOT 15:REM SMALL LETTERS 1110 PLOT 3,11,20:PLOT 29,20:PLOT 30,23 1120 PRINT "TURNS" 1130 PLOT 3,49,20:PLOT 29,17:PLOT 30,23 1140 PRINT "TURNS" 1990 TR= 0:TB= 0:REM INITIALISE TURN COUNT 1995 SR= 1:SB= 1:REM INITIALISE SECTOR POINTER 2000 J= PEEK (33209):REM LOOK AT SECONDS 2010 IF J> = 30THEN 3000 2020 TF= 0:REM FIRST TURN FLAG FOR BLUE 2030 XB(0)= 48:YB(0)= 15:XB(1)= 48:YB(1)= 15:REM BLUE ON INSIDE 2035 PLOT 6,4:PLOT 2,XB(0),YB(0),255 2040 XR(0)= 48:YR(0)= 8:XR(1)= 48:YR(1)= 8:REM RED ON OUTSIDE 2045 PLOT 6,1:PLOT 2,XR(0),YR(0),255 2047 GOTO 3030 3000 TF= 1:REM FIRST TURN FLAG FOR RED 3010 XR(0)= 48:YR(0)= 15:XR(1)= 48:YR(1)= 15:REM RED ON INSIDE 3015 PLOT 6,1:PLOT 2,XR(0),YR(0),255 3020 XB(0)= 48:YB(0)= 8:XB(1)= 48:YB(1)= 8:REM BLUE ON OUTSIDE 3022 PLOT 6,4:PLOT 2,XB(0),YB(0),255 3030 PLOT 6,7:PLOT 2,50,4,242,50,19,255:REM START LINE 3040 PLOT 6,2:PLOT 15:PLOT 3,23,25:PRINT "START" 3041 CH= 4 3043 PLOT 14:PLOT 6,4:PLOT 3,12,23:PRINT TB 3045 PLOT 14:PLOT 6,1:PLOT 3,50,23:PRINT TR 3050 IF TR< TBTHEN 3150 3060 IF TR> TBTHEN 3080 3070 IF TF= 1THEN 3150 3080 PLOT 6,100:PLOT 14:PLOT 3,9,17:PRINT "BLUE CAR" 3085 PLOT 6,8:PLOT 14:PLOT 3,48,17:PRINT "RED CAR" 3090 T= 0:REM CURRENT TURN FLAG 3100 X(1)= XB(0):Y(1)= YB(0) 3110 X(2)= XB(1):Y(2)= YB(1) 3120 X(4)= XR(0):Y(4)= YR(0) 3130 X(5)= XR(1):Y(5)= YR(1) 3140 GOTO 3300 3150 PLOT 6,73:PLOT 14:PLOT 3,48,17:PRINT "RED CAR" 3155 PLOT 6,32:PLOT 14:PLOT 3,9,17:PRINT "BLUE CAR" 3160 T= 1:REM CURRENT TURN FLAG RED 3170 X(1)= XR(0):Y(1)= YR(0) 3180 X(2)= XR(1):Y(2)= YR(1) 3190 X(4)= XB(0):Y(4)= YB(0) 3200 X(5)= XB(1):Y(5)= YB(1) 3300 PLOT 6,28:REM SET YELLOW BG BLUE FG 3305 PLOT 15 3310 PLOT 3,21,16:PRINT " " 3320 PLOT 3,21,17:PRINT " ENTER ONE CHANGE " 3330 PLOT 3,21,18:PRINT " " 3340 PLOT 3,21,19:PRINT " FASTER F " 3350 PLOT 3,21,20:PRINT " SLOWER S " 3360 PLOT 3,21,21:PRINT " LEFT L " 3370 PLOT 3,21,22:PRINT " RIGHT R " 3375 PLOT 3,21,23:PRINT " COAST C " 3380 PLOT 3,21,24:PRINT " " 3390 PLOT 3,41,21:PLOT 14:INPUT D$ 3400 IF NOT ((D$= "F")OR (D$= "S")OR (D$= "L")OR (D$= "R")OR (D$= "C"))THEN 3450 3410 GOTO 3506 3450 PLOT 15:PLOT 6,66:PLOT 3,39,16:PRINT " WRONG " 3460 PLOT 3,39,17:PRINT "LETTER " 3470 FOR I= 1TO 500:NEXT I 3480 PLOT 15:PLOT 3,39,16:PLOT 6,0:PRINT " " 3490 PLOT 3,39,17:PRINT " " 3495 PLOT 3,41,21:PLOT 6,0:PLOT 14:PRINT " " 3500 GOTO 3300 3506 GOSUB 29000:REM "COAST" TRANSLATION 3510 IF D$= "F"GOTO 3550 3520 IF D$= "S"GOTO 3560 3530 IF D$= "L"GOTO 3580 3540 IF D$= "R"GOTO 3620 3542 X(3)= X(2):Y(3)= Y(2):REM ASSIGN "COAST"VECTOR 3545 GOTO 3700 3550 DM= CH:GOTO 3660 3560 DM= - CH 3575 GOTO 3660 3580 DM= CH:GOTO 3670 3620 DM= - CH 3650 GOTO 3670 3660 IF (X(1)= X(2))AND (Y(1)= Y(2))THEN GOSUB 28000:GOTO 3700 3662 GOSUB 30000:REM MOD CHANGE 3665 GOTO 3700 3670 IF (X(1)= X(2))AND (Y(1)= Y(2))THEN GOSUB 28000:GOTO 3700 3672 GOSUB 32000:REM TURN CHANGE 3700 GOSUB 34000:REM CHECK VECTORS FOR INTERSECTION 3750 IF K= 1THEN GOSUB 37000:X(3)= X(6):Y(3)= Y(6):GOSUB 3800:GOTO 3050 3760 GOSUB 3800:REM THIS SUB DECIDES THE TRACK SECTOR 3770 GOTO 4010 3800 REM THIS SUBROUTINE TESTS FOR NEW SECTOR 3801 IF T= 1GOTO 3900 3803 ON SBGOTO 3806,3818,3830,3842,3854,3866 3806 X(4)= 113:Y(4)= 20:X(5)= 126:Y(5)= 3 3809 GOSUB 34000 3812 IF K= 1THEN SB= SB+ 1 3815 GOTO 4000 3818 X(4)= 113:Y(4)= 67:X(5)= 126:Y(5)= 84 3821 GOSUB 34000 3824 IF K= 1THEN SB= SB+ 1 3827 GOTO 4000 3830 X(4)= 37:Y(4)= 67:X(5)= 50:Y(5)= 84 3833 GOSUB 34000 3836 IF K= 1THEN SB= SB+ 1 3839 GOTO 4000 3842 X(4)= 37:Y(4)= 103:X(5)= 50:Y(5)= 124 3845 GOSUB 34000 3848 IF K= 1THEN SB= SB+ 1 3851 GOTO 4000 3854 X(4)= 1:Y(4)= 124:X(5)= 14:Y(5)= 103 3857 GOSUB 34000 3860 IF K= 1THEN SB= SB+ 1 3863 GOTO 4000 3866 X(4)= 1:Y(4)= 3:X(5)= 14:Y(5)= 20 3869 GOSUB 34000 3872 IF K= 1THEN SB= SB+ 1 3875 GOTO 4000 3900 ON SRGOTO 3912,3924,3936,3948,3960,3972 3912 X(4)= 113:Y(4)= 20:X(5)= 126:Y(5)= 3 3915 GOSUB 34000 3918 IF K= 1THEN SR= SR+ 1 3921 GOTO 4000 3924 X(4)= 113:Y(4)= 67:X(5)= 126:Y(5)= 84 3927 GOSUB 34000 3930 IF K= 1THEN SR= SR+ 1 3933 GOTO 4000 3936 X(4)= 37:Y(4)= 67:X(5)= 50:Y(5)= 84 3939 GOSUB 34000 3942 IF K= 1THEN SR= SR+ 1 3945 GOTO 4000 3948 X(4)= 37:Y(4)= 103:X(5)= 50:Y(5)= 124 3951 GOSUB 34000 3954 IF K= 1THEN SR= SR+ 1 3957 GOTO 4000 3960 X(4)= 1:Y(4)= 124:X(5)= 14:Y(5)= 103 3963 GOSUB 34000 3966 IF K= 1THEN SR= SR+ 1 3969 GOTO 4000 3972 X(4)= 1:Y(4)= 3:X(5)= 14:Y(5)= 20 3975 GOSUB 34000 3978 IF K= 1THEN SR= SR+ 1 4000 RETURN 4001 REM THIS IS WHERE WALL COLLISIONS ARE CHECKED 4010 IF T= 1GOTO 4030 4020 S= SB:GOTO 4040 4030 S= SR 4040 ON SGOTO 4100,4200,4300,4400,4500,4600,4100 4100 IF Y(3)> Y(1)GOTO 4120 4110 IF Y(3)< Y(1)GOTO 4160 4115 GOTO 4700 4120 X(4)= 1:Y(4)= 20:X(5)= 113:Y(5)= 20 4130 GOSUB 34000 4140 IF K= 1THEN GOSUB 35000:GOTO 5000 4150 GOTO 4700 4160 X(4)= 1:Y(4)= 3:X(5)= 126:Y(5)= 3 4170 GOSUB 34000 4180 IF K= 1THEN GOSUB 35000:GOTO 5000 4190 GOTO 4700 4200 IF X(3)> X(1)GOTO 4220 4210 IF X(3)< X(1)GOTO 4260 4215 GOTO 4700 4220 X(4)= 126:Y(4)= 3:X(5)= 126:Y(5)= 84 4230 GOSUB 34000 4240 IF K= 1THEN GOSUB 35000:GOTO 5000 4250 GOTO 4700 4260 X(4)= 113:Y(4)= 3:X(5)= 113:Y(5)= 67 4270 GOSUB 34000 4280 IF K= 1THEN GOSUB 35000:GOTO 5000 4290 GOTO 4700 4300 IF Y(3)> Y(1)GOTO 4320 4310 IF Y(3)< Y(1)GOTO 4360 4315 GOTO 4700 4320 X(4)= 50:Y(4)= 84:X(5)= 126:Y(5)= 84 4330 GOSUB 34000 4340 IF K= 1THEN GOSUB 35000:GOTO 5000 4350 GOTO 4700 4360 X(4)= 37:Y(4)= 67:X(5)= 126:Y(5)= 67 4370 GOSUB 34000 4380 IF K= 1THEN GOSUB 35000:GOTO 5000 4390 GOTO 4700 4400 IF X(3)> X(1)GOTO 4420 4410 IF X(3)< X(1)GOTO 4460 4415 GOTO 4700 4420 X(4)= 50:Y(4)= 67:X(5)= 50:Y(5)= 124 4430 GOSUB 34000 4440 IF K= 1THEN GOSUB 35000:GOTO 5000 4450 GOTO 4700 4460 X(4)= 37:Y(4)= 67:X(5)= 37:Y(5)= 103 4470 GOSUB 34000 4480 IF K= 1THEN GOSUB 35000:GOTO 5000 4490 GOTO 4700 4500 IF Y(3)> Y(1)GOTO 4520 4510 IF Y(3)< Y(1)GOTO 4560 4515 GOTO 4700 4520 X(4)= 1:Y(4)= 124:X(5)= 50:Y(5)= 124 4530 GOSUB 34000 4540 IF K= 1THEN GOSUB 35000:GOTO 5000 4550 GOTO 4700 4560 X(4)= 14:Y(4)= 103:X(5)= 50:Y(5)= 103 4570 GOSUB 34000 4580 IF K= 1THEN GOSUB 35000:GOTO 5000 4590 GOTO 4700 4600 IF X(3)> X(1)GOTO 4620 4610 IF X(3)< X(1)GOTO 4660 4615 GOTO 4700 4620 X(4)= 14:Y(4)= 124:X(5)= 14:Y(5)= 20 4630 GOSUB 34000 4640 IF K= 1THEN GOSUB 35000:GOTO 5000 4650 GOTO 4700 4660 X(4)= 1:Y(4)= 124:X(5)= 1:Y(5)= 3 4670 GOSUB 34000 4680 IF K= 1THEN GOSUB 35000:GOTO 5000 4700 GOSUB 36000 4710 IF R= 1GOTO 4800 4720 PLOT 15:PLOT 6,66:PLOT 3,10,8:PRINT "REVERSE" 4730 PLOT 3,11,9:PRINT "LOSE" 4732 PLOT 3,10,10:PRINT "2 TURNS" 4734 FOR I= 1TO 500:NEXT I 4736 FOR I= 1TO 3:PLOT 3,10,7+ I:PRINT " ":NEXT I 4740 IF T= 1GOTO 4760 4750 TB= TB+ 3:GOTO 5030 4760 TR= TR+ 3:GOTO 5030 4800 GOSUB 38000 5000 IF (SB< 7)AND (SR< 7)GOTO 5030 5010 X(4)= 50:Y(4)= 4:X(5)= 50:Y(5)= 19 5012 GOSUB 34000 5020 IF K= 1GOTO 5100 5030 PLOT 14:PLOT 6,4:PLOT 3,12,23:PRINT TB 5032 PLOT 3,18,23:PRINT SB 5040 PLOT 6,1:PLOT 3,50,23:PRINT TR 5042 PLOT 3,54,23:PRINT SR 5050 GOTO 3050 5100 IF T= 1GOTO 5200 5110 PLOT 14:PLOT 6,4:PLOT 3,9,25:PRINT "WINNER" 5120 GOTO 5210 5200 PLOT 14:PLOT 6,1:PLOT 3,48,25:PRINT "WINNER" 5210 PLOT 14:PLOT 6,0:PLOT 3,32,1 5215 PRINT " " 5220 PLOT 3,32,3:PRINT " " 5225 PLOT 3,32,5:PRINT " " 5227 PLOT 6,2 5230 PLOT 3,32,3:INPUT "WANT ANOTHER RACE? Y/N ";A$ 5235 IF A$= "Y"THEN RUN 5340 LOAD "MENU.BAS":RUN 5345 END 28000 REM THIS SUBROUTINE HANDLES ZERO VECTORS 28010 REM X(1) Y(1) IS INPUT POINT 28020 REM X(3) Y(3) HEAD IS COMPUTED 28030 REM S=1 TO 6 IS INPUT FOR THE CURRENT TRACK SECTION 28040 IF T= 1GOTO 28100 28050 S= SB:GOTO 28400 28100 S= SR 28400 ON SGOTO 28410,28430,28450,28430,28450,28470 28410 IF (D$= "F")OR (D$= "S")GOTO 28420 28415 X(3)= X(1):Y(3)= Y(1)+ DM:GOTO 28990 28420 X(3)= X(1)+ DM:Y(3)= Y(1):GOTO 28990 28430 IF (D$= "F")OR (D$= "S")GOTO 28440 28435 X(3)= X(1)- DM:Y(3)= Y(1):GOTO 28990 28440 X(3)= X(1):Y(3)= Y(1)+ DM:GOTO 28990 28450 IF (D$= "F")OR (D$= "S")GOTO 28460 28455 X(3)= X(1):Y(3)= Y(1)- DM:GOTO 28990 28460 X(3)= X(1)- DM:Y(3)= Y(1):GOTO 28990 28470 IF (D$= "F")OR (D$= "S")GOTO 28480 28475 X(3)= X(1)+ DM:Y(3)= Y(1):GOTO 28990 28480 X(3)= X(1):Y(3)= Y(1)- DM 28990 RETURN 29000 REM THIS SUBROUTINE COMPUTES THE INITIAL PARALLEL VECTOR 29001 REM WHICH IS THE BASIS FOR THE NEXT CHANGE 29002 REM X(1)Y(1)OLD TAIL X(2)Y(2) OLD HEAD (ON INPUT) 29003 REM X(1)Y(1)NEW TAIL X(2)Y(2) NEW HEAD (ON OUTPUT) 29010 XC= X(2)- X(1) 29020 YC= Y(2)- Y(1):REM OLD COMPONENTS 29030 X(1)= X(2):Y(1)= Y(2) 29040 X(2)= X(1)+ XC 29050 Y(2)= Y(1)+ YC 29060 RETURN 30000 REM THIS SUBROUTINE COMPUTES THE NEW COORDINATES OF THE 30001 REM VECTOR HEAD FOR A MODULUS CHANGE 30002 REM +DM FOR INCREASE...-DM FOR DECREASE 30003 REM X(1)Y(1) IS TAIL X(2)Y(2) IS HEAD 30010 M= SQR ((X(2)- X(1))^ 2+ (Y(2)- Y(1))^ 2):REM OLD MODULUS 30020 X(3)= INT (DM/ M* (X(2)- X(1))+ X(2)) 30030 Y(3)= INT (DM/ M* (Y(2)- Y(1))+ Y(2)) 30040 RETURN 32000 REM THIS SUBROUTINE COMPUTES THE NEW HEAD COORDINATES 32001 REM FOR A LEFT OR RIGHT CHANGE 32002 REM +DM GIVES LEFT TURN...-DM GIVES RIGHT TURN 32003 REM X(1)Y(1)TAIL X(2)Y(2)HEAD 32010 M= SQR ((X(2)- X(1))^ 2+ (Y(2)- Y(1))^ 2) 32020 SI= (Y(2)- Y(1))/ M:REM SIN RATIO 32030 CO= (X(2)- X(1))/ M:REM COS RATIO 32040 X(3)= INT (X(2)- DM* SI) 32050 Y(3)= INT (Y(2)+ DM* CO) 32060 RETURN 34000 REM THIS SUBROUTINE COMPUTES THE INTERSECTION OF TWO 34001 REM LINE SEGMENTS 34002 REM X(1)Y(1) X(3)Y(3) COORDINATES OF FIRST SEGMENT 34003 REM X(4)Y(4) X(5)Y(5) COORDINATES OF SECOND SEGMENT 34010 DN= (Y(5)- Y(4))* (X(3)- X(1))- (X(5)- X(4))* (Y(3)- Y(1)) 34020 REM LINES ARE PARALLEL IF DENOMINATOR IS 0 34021 IF DN= 0GOTO 34024 34022 GOTO 34030 34024 K= 0:GOTO 34090 34030 T(1)= ((X(4)- X(1))* (Y(3)- Y(1))- (Y(4)- Y(1))* (X(3)- X(1)))/ DN 34040 T(2)= ((X(4)- X(1))* (Y(5)- Y(4))- (Y(4)- Y(1))* (X(5)- X(4)))/ DN 34050 IF (T(1)> = 0)AND (T(1)< = 1)AND (T(2)> = 0)AND (T(2)< = 1)THEN 34070 34059 K= 0 34060 GOTO 34090 34070 X(6)= INT (X(1)+ T(2)* (X(3)- X(1))) 34080 Y(6)= INT (Y(1)+ T(2)* (Y(3)- Y(1))) 34082 K= 1:REM COLLISION 34090 RETURN 35000 REM THIS SUB DEALS WITH WALL COLLISIONS 35010 IF X(4)= X(5)GOTO 35030 35020 IF Y(4)= Y(5)GOTO 35050 35030 IF X(4)> = X(1)THEN X(4)= X(4)- 1:X(5)= X(5)- 1:GOTO 35070 35040 IF X(4)< X(1)THEN X(4)= X(4)+ 1:X(5)= X(5)+ 1:GOTO 35070 35050 IF Y(4)> = Y(1)THEN Y(4)= Y(4)- 1:Y(5)= Y(5)- 1:GOTO 35070 35060 IF Y(4)< Y(1)THEN Y(4)= Y(4)+ 1:Y(5)= Y(5)+ 1 35070 GOSUB 34000 35080 IF T= 1GOTO 35200 35090 PLOT 6,4:PLOT 2,X(1),Y(1),242,X(6),Y(6),255 35100 PLOT 6,0:PLOT 2,XB(0),YB(0),242,XB(1),YB(1),255 35110 TB= TB+ 3:REM BLUE PENALTY 35120 PLOT 15:PLOT 3,9,8:PLOT 6,66:PRINT "COLLISION" 35130 PLOT 3,9,9:PRINT " LOSE " 35140 PLOT 3,9,10:PRINT " 2 TURNS " 35150 FOR I= 1TO 500:NEXT I 35160 PLOT 6,0:PLOT 2,X(1),Y(1),242,X(6),Y(6),255:REM ERASE 35170 XB(0)= X(6):YB(0)= Y(6):REM RESTART AS ZERO VECTOR 35175 XB(1)= X(6):YB(1)= Y(6) 35180 PLOT 6,4:PLOT 2,253,XB(0),YB(0),255:REM REST PLACE 35190 GOTO 35300 35200 PLOT 6,1:PLOT 2,X(1),Y(1),242,X(6),Y(6),255 35210 PLOT 6,0:PLOT 2,XR(0),YR(0),242,XR(1),YR(1),255 35220 TR= TR+ 3:REM RED PENALTY 35230 PLOT 15:PLOT 3,9,8:PLOT 6,66:PRINT "COLLISION" 35240 PLOT 3,9,9:PRINT " LOSE " 35250 PLOT 3,9,10:PRINT " 2 TURNS " 35260 FOR I= 1TO 500:NEXT I 35270 PLOT 6,0:PLOT 2,X(1),Y(1),242,X(6),Y(6),255 35280 XR(0)= X(6):YR(0)= Y(6):REM RESTART AS ZERO 35285 XR(1)= X(6):YR(1)= Y(6) 35290 PLOT 6,1:PLOT 2,XR(0),YR(0),255:REM REST PLACE 35300 FOR I= 1TO 3 35310 PLOT 6,0:PLOT 3,9,7+ I:PRINT " " 35320 NEXT I 35330 RETURN 36000 REM SUBROUTINE TO CHECK CORRECT TRACK DIRECTION 36002 REM X(1)Y(1) VECTOR TAIL 36004 REM X(3)Y(3) VECTOR HEAD 36010 FX= X(3)- X(1) 36020 FY= Y(3)- Y(1) 36022 IF T= 1GOTO 36028 36024 S= SB:GOTO 36030 36028 S= SR 36030 ON SGOTO 36040,36060,36080,36060,36080,36100 36040 IF FX> = 0THEN R= 1:GOTO 36120 36050 GOTO 36110 36060 IF FY> = 0THEN R= 1:GOTO 36120 36070 GOTO 36110 36080 IF FX< = 0THEN R= 1:GOTO 36120 36090 GOTO 36110 36100 IF FY< = 0THEN R= 1:GOTO 36120 36110 R= - 1 36120 RETURN 37000 REM THIS SUB PROCESSES CAR COLLISIONS 37010 PLOT 15:PLOT 3,9,8:PLOT 6,66:PRINT "COLLISION" 37020 PLOT 3,9,9:PRINT " LOSE " 37030 PLOT 3,9,10:PRINT " 2 TURNS " 37040 FOR I= 1TO 500:NEXT I 37050 PLOT 15: 37060 FOR I= 1TO 3 37070 PLOT 6,0:PLOT 3,9,7+ I:PRINT " " 37080 NEXT I 37100 IF T= 1GOTO 37160 37110 TB= TB+ 3:REM 2PENALTY TURNS TO BLUE 37120 PLOT 6,4:PLOT 2,X(1),Y(1),242,X(6),Y(6),255:REM SHORT VEC 37130 PLOT 6,0:PLOT 2,XB(0),YB(0),242,XB(1),YB(1),255:REM ERASE 37140 XB(0)= X(1):YB(0)= Y(1):XB(1)= X(6):YB(1)= Y(6):REM REASSIGN 37150 GOTO 37200 37160 TR= TR+ 3:REM 2 PENALTY TURNS TO RED 37170 PLOT 6,1:PLOT 2,X(1),Y(1),242,X(6),Y(6),255:REM SHORT VEC 37180 PLOT 6,0:PLOT 2,XR(0),YR(0),242,XR(1),YR(1),255:REM ERASE 37190 XR(0)= X(1):YR(0)= Y(1):XR(1)= X(6):YR(1)= Y(6):REM REASSIGN 37200 RETURN 38000 REM THIS SUB PROCESSES VALID VECTORS 38010 IF T= 1GOTO 38080 38020 PLOT 6,4:PLOT 2,X(1),Y(1),242,X(3),Y(3),255 38040 TB= TB+ 1:REM ADD ONE TO BLUE TURNS 38050 PLOT 6,0:PLOT 2,XB(0),YB(0),242,XB(1),YB(1),255:REM ERASE 38060 XB(0)= X(1):YB(0)= Y(1):XB(1)= X(3):YB(1)= Y(3):REM REASSIGN 38070 GOTO 38130 38080 PLOT 6,1:PLOT 2,X(1),Y(1),242,X(3),Y(3),255: 38100 TR= TR+ 1:REM ADD ONE TO RED TURNS 38110 PLOT 6,0:PLOT 2,XR(0),YR(0),242,XR(1),YR(1),255 38120 XR(0)= X(1):YR(0)= Y(1):XR(1)= X(3):YR(1)= Y(3):REM REASSIGN 38130 RETURN