standard missions done
[des2015.git] / dsl / runtime / src / nl / ru / des / BasicBehaviour.java
index 2a6240e..2de5ab3 100644 (file)
@@ -31,7 +31,27 @@ public abstract class BasicBehaviour implements Behavior{
                leftMotor.stop(true);
        }
 
-       protected void measure(){
+       protected void measureLake(){
+               long time = System.currentTimeMillis();
+               rightMotor.backward();
+               leftMotor.backward();
+               while(System.currentTimeMillis()-time<500){
+                       Thread.yield();
+               }
+               
+               rightMotor.stop(true);
+               leftMotor.stop(true);
+               rightMotor.setSpeed(25);
+               leftMotor.setSpeed(25);
+               if(sensors.leftLight() && !sensors.rightLight()){
+                       leftTurn(15);
+               } else if (sensors.rightLight() && !sensors.leftLight()){
+                       rightTurn(15);
+               }
+               
+               rightMotor.stop(true);
+               leftMotor.stop(true);
+               
                measMotor.backward();
                while(!suppressed && !measMotor.isStalled()){
                        Thread.yield();
@@ -41,7 +61,8 @@ public abstract class BasicBehaviour implements Behavior{
                        Thread.yield();
                }
                measMotor.stop(true);
-               rightTurn(90);
+               reset();
+               rightTurn(45);
        }
        
        protected void turnRandom(int from, int to){
@@ -85,12 +106,24 @@ public abstract class BasicBehaviour implements Behavior{
        public void action() {
                suppressed = false;
                finished = false;
+               rightMotor.setSpeed(Constants.speed);
+               rightMotor.setAcceleration(Constants.acceleration);
+               leftMotor.setSpeed(Constants.speed);
+               leftMotor.setAcceleration(Constants.acceleration);
+               rightMotor.stop(true);
+               leftMotor.stop(true);
        }
 
        @Override
        public void suppress() {
                suppressed = true;
                finished = true;
+               rightMotor.setSpeed(Constants.speed);
+               rightMotor.setAcceleration(Constants.acceleration);
+               leftMotor.setSpeed(Constants.speed);
+               leftMotor.setAcceleration(Constants.acceleration);
+               rightMotor.stop(true);
+               leftMotor.stop(true);
        }
        
        @Override public boolean takeControl(){