sub Go()
{OnFwd(OUT_A+OUT_C);} sub Back() {OnRev(OUT_A+OUT_C);}
sub Go() {OnFwd(OUT_A+OUT_C);} sub Back() {OnRev(OUT_A+OUT_C);}
task main () { SetSensor(SENSOR_1, SENSOR_LIGHT); SetSensor(SENSOR_2, SENSOR_LIGHT); SetSensor(SENSOR_3, SENSOR_LIGHT);
while(true) { Go();
if(SENSOR_1<40) {OnRev(OUT_A);Wait(15);Off(OUT_A);ClearTimer(0); if(Timer(0)>10){Back();Wait(50);OnFwd(OUT_A);Wait(50);ClearTimer(0);} else{until(SENSOR_2<40);ClearTimer(0);};};
if(SENSOR_3<40) {OnRev(OUT_A);Wait(15);Off(OUT_A);ClearTimer(0); if(Timer(0)>10){Back();Wait(50);OnFwd(OUT_C);Wait(50);ClearTimer(0);} else{until(SENSOR_2<40);ClearTimer(0);};};
}}