X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=dsl%2Fruntime%2Fsrc%2Fnl%2Fru%2Fdes%2FBasicBehaviour.java;h=455cbe23dc03729faee920b9eb458f9d903e8ea7;hb=ac44621696b120a5aec35edff6b7181a4aafa383;hp=2a6240ede6cbd838f775642c4e400b5c67de102a;hpb=1b13ccb59263b66abc763fb8f298b14bdebc9582;p=des2015.git diff --git a/dsl/runtime/src/nl/ru/des/BasicBehaviour.java b/dsl/runtime/src/nl/ru/des/BasicBehaviour.java index 2a6240e..455cbe2 100644 --- a/dsl/runtime/src/nl/ru/des/BasicBehaviour.java +++ b/dsl/runtime/src/nl/ru/des/BasicBehaviour.java @@ -29,9 +29,30 @@ public abstract class BasicBehaviour implements Behavior{ leftMotor.setAcceleration(Constants.acceleration); rightMotor.stop(true); leftMotor.stop(true); + measMotor.stop(true); } - protected void measure(){ + protected void measureLake(){ + long time = System.currentTimeMillis(); + rightMotor.backward(); + leftMotor.backward(); + while(System.currentTimeMillis()-time < 250){ + 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 +62,32 @@ public abstract class BasicBehaviour implements Behavior{ Thread.yield(); } measMotor.stop(true); - rightTurn(90); + + turnRandom(30, 45); + } + + protected void measureRock(){ + long time = System.currentTimeMillis(); + rightMotor.forward(); + leftMotor.forward(); + while(System.currentTimeMillis()-time<1500){ + Thread.yield(); + } + + rightMotor.stop(true); + leftMotor.stop(true); + + measMotor.backward(); + while(!suppressed && !measMotor.isStalled()){ + Thread.yield(); + } + measMotor.forward(); + while(!suppressed && !measMotor.isStalled()){ + Thread.yield(); + } + measMotor.stop(true); + + turnRandom(30, 45); } protected void turnRandom(int from, int to){ @@ -85,12 +131,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(){