int newstate1,newstate2,newstate3,sensor1state,sensor2state,sensor3state,m; task sensorstate() { while (true) { newstate1 = SENSOR_1; newstate2 = SENSOR_2; newstate3 = SENSOR_3; if (newstate1 != sensor1state) { if (newstate1 == 1) m = 2; if ((newstate1 == 0) && (newstate3 == 0)) m = 6; sendmessage(); sensor1state = newstate1; } if (newstate3 != sensor3state) { if (newstate3 == 1) m = 1; if ((newstate1 == 0) && (newstate3 == 0)) m = 6; sendmessage(); sensor3state = newstate3; } if (newstate2 != sensor2state) { if (newstate2 > 4) m = 3; if (newstate2 < -4) m = 4; if ((newstate2 >= -4) && (newstate2 <= 4)) m = 5; sendmessage(); sensor2state = newstate2; } } } sub sendmessage() { repeat (m) { PlayTone(220,1); Wait(2); } ClearMessage(); SendMessage(m); Wait(50); if (Message() == 255) { SendMessage(m); } else { SendMessage(m); } } task main() { sensor1state = 0; sensor2state = 0; sensor3state = 0; newstate1 = 0; newstate2 = 0; newstate3 = 0; ClearSensor(SENSOR_2); SetSensor(SENSOR_1,SENSOR_TOUCH); SetSensor(SENSOR_3,SENSOR_TOUCH); SetSensor(SENSOR_2,SENSOR_ROTATION); start sensorstate; }