public int getCount() { return Math.abs(action.countedMotor().getTachoCount());
}
public static void test(Reversible tested) {
Reverser r = new Reverser(tested);
r.act(); while (Button.LEFT.isPressed() == false) {}
r.flip(); while (Button.RIGHT.isPressed() == false) {}
}
}
Switcher (page 76)
import lejos.nxt.*;
public class Switcher implements Action { private Condition detected; private Reverser action;
public void act() { int distance = 10;
action.act(); while (Button.ESCAPE.isPressed() == false) { if (action.getCount() < distance) {
action.flip();
distance = distance + 1;
}
}
}
public static void main(String[] args) {
Reversible searchMove = new TurnLeftMove();
Reverser r = new Reverser(searchMove);
LightSensor light = new LightSensor(SensorPort.S3);
Condition finder = new LineFinder(light);
Switcher s = new Switcher(r, finder);
s.act();
}
}