3 import lejos
.robotics
.RegulatedMotor
;
4 import lejos
.robotics
.subsumption
.Behavior
;
5 import nl
.ru
.des
.sensors
.SensorCollector
;
7 public abstract class BasicBehaviour
implements Behavior
{
8 protected int suppressed
;
9 protected RegulatedMotor leftMotor
, rightMotor
, measMotor
;
10 protected SensorCollector sensors
;
13 public BasicBehaviour(SensorCollector sensors
, RegulatedMotor leftMotor
,
14 RegulatedMotor rightMotor
, RegulatedMotor measMotor
){
15 this.leftMotor
= leftMotor
;
16 this.rightMotor
= rightMotor
;
17 this.measMotor
= measMotor
;
18 this.sensors
= sensors
;
21 protected void reset(){
22 rightMotor
.setSpeed(Constants
.speed
);
23 rightMotor
.setAcceleration(Constants
.acceleration
);
24 leftMotor
.setSpeed(Constants
.speed
);
25 leftMotor
.setAcceleration(Constants
.acceleration
);
26 rightMotor
.stop(true);
31 protected void rockMeasure(){
35 protected void lakeMeasure(){
39 protected void rightTurn(int angle
){
40 float init
= sensors
.gyro();
41 rightMotor
.backward();
44 while(suppressed
!= 2 && sensors
.gyro()-90>init
){
49 protected void leftTurn(int angle
){
50 float init
= sensors
.gyro();
53 while(suppressed
!= 2 && sensors
.gyro()+90<init
){
59 public void action() {
64 public void suppress() {
68 @Override public boolean takeControl(){