1 package nl
.ru
.des
.behaviours
;
3 import lejos
.hardware
.Sound
;
4 import lejos
.hardware
.motor
.EV3LargeRegulatedMotor
;
5 import lejos
.robotics
.Color
;
6 import lejos
.robotics
.subsumption
.Behavior
;
7 import nl
.ru
.des
.bluetooth
.ColorMemory
;
8 import nl
.ru
.des
.sensors
.ColorSensor
;
10 public class WandererBehaviour
implements Behavior
{
11 private EV3LargeRegulatedMotor leftMotor
, rightMotor
;
12 private ColorSensor colorSensor
;
13 private boolean suppressed
;
14 private ColorMemory cm
;
16 public WandererBehaviour(ColorSensor colorSensor
, EV3LargeRegulatedMotor leftMotor
,
17 EV3LargeRegulatedMotor rightMotor
, ColorMemory cm
) {
18 this.leftMotor
= leftMotor
;
19 this.rightMotor
= rightMotor
;
20 this.colorSensor
= colorSensor
;
25 public boolean takeControl() {
26 return !cm
.finished();
30 public void action() {
32 leftMotor
.setSpeed(300);
33 rightMotor
.setSpeed(300);
37 int current
= colorSensor
.getCurrentColor();
38 if (current
== Color
.YELLOW
|| current
== Color
.BLUE
|| current
== Color
.RED
) {
45 rightMotor
.stop(true);
49 public void suppress() {