push
[des2015.git] / dsl / runtime / src / nl / ru / des / BasicBehaviour.java
1 package nl.ru.des;
2
3 import lejos.robotics.RegulatedMotor;
4 import lejos.robotics.subsumption.Behavior;
5 import nl.ru.des.sensors.SensorCollector;
6
7 public abstract class BasicBehaviour implements Behavior{
8 protected boolean suppressed;
9 protected RegulatedMotor leftMotor, rightMotor, measMotor;
10 protected SensorCollector sensors;
11 protected long time;
12
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;
19 }
20
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);
27 leftMotor.stop(true);
28 }
29
30 protected void rockMeasure(){
31
32 }
33
34 protected void lakeMeasure(){
35
36 }
37
38 protected void rightTurn(int angle){
39
40 }
41
42 protected void leftTurn(int angle){
43
44 }
45
46 @Override
47 public void action() {
48 suppressed = false;
49 }
50
51 @Override
52 public void suppress() {
53 suppressed = true;
54 }
55
56 @Override
57 public boolean takeControl() {
58 return true;
59 }
60 }