int black1; int black2; int white1; int white2; int leftright; int forwardbackward; int position; int currentposition; task main() { SetSensorType (SENSOR_2, SENSOR_TYPE_LIGHT); SetSensorMode (SENSOR_2, SENSOR_MODE_PERCENT); SetSensorType (SENSOR_1, SENSOR_TYPE_LIGHT); SetSensorMode (SENSOR_1, SENSOR_MODE_PERCENT); SetSensor(SENSOR_3,SENSOR_TOUCH); black1 = SensorValue(0); black1 += 4; black2 = SensorValue(1); black2 += 4; white1 = SensorValue(0); white1 += 10; white2 = SensorValue(1); white2 += 12; while(true){ if(SensorValue(0) < black1) { leftright = 2; } else { if(SensorValue(0) > white1) { leftright = 1; } else { leftright = 3; } } if(SensorValue(1) < black2) { forwardbackward = 2; } else { if(SensorValue(1) > white2) { forwardbackward = 1; } else { forwardbackward = 3; } } if(leftright == 1) { if(forwardbackward == 1) {position = 3;} if(forwardbackward == 2) {position = 6;} if(forwardbackward == 3) {position = 9;} } if(leftright == 2) { if(forwardbackward == 1) {position = 2;} if(forwardbackward == 2) {position = 5;} if(forwardbackward == 3) {position = 8;} } if(leftright == 3) { if(forwardbackward == 1) {position = 1;} if(forwardbackward == 2) {position = 4;} if(forwardbackward == 3) {position = 7;} } if(SensorValue(2) > 0) { position += 10; } SendMessage (position); currentposition = position; SetUserDisplay(currentposition, 0); while(currentposition == position) { if(SensorValue(0) < black1) { leftright = 2; } else { if(SensorValue(0) > white1) { leftright = 1; } else { leftright = 3; } } if(SensorValue(1) < black2) { forwardbackward = 2; } else { if(SensorValue(1) > white2) { forwardbackward = 1; } else { forwardbackward = 3; } } if(leftright == 1) { if(forwardbackward == 1) {position = 3;} if(forwardbackward == 2) {position = 6;} if(forwardbackward == 3) {position = 9;} } if(leftright == 2) { if(forwardbackward == 1) {position = 2;} if(forwardbackward == 2) {position = 5;} if(forwardbackward == 3) {position = 8;} } if(leftright == 3) { if(forwardbackward == 1) {position = 1;} if(forwardbackward == 2) {position = 4;} if(forwardbackward == 3) {position = 7;} } if(SensorValue(2) > 0) { position += 10; } } } }