add sound
[des2015.git] / dsl / runtime / specs / wander.tdsl
index 5b9c1a0..d592a25 100644 (file)
@@ -37,10 +37,21 @@ Behaviour StayInFieldB
                right motor forward
                wait 1000 ms
                
-Behaviour MeasureLake
-       take control: (|| Color is Green Color is Blue Color is Red)
+Behaviour MeasureGreenLake
+       take control: (&& Color is Green not flag set GreenMeasured)
        action:
                measure Lake
+               set flag GreenMeasured
+Behaviour MeasureBlueLake
+       take control: (&& Color is Blue not flag set BlueMeasured)
+       action:
+               measure Lake
+               set flag BlueMeasured
+Behaviour MeasureRedLake
+       take control: (&& Color is Red not flag set RedMeasured)
+       action:
+               measure Lake
+               set flag RedMeasured
                
 Behaviour LocateL
        take control: Touched on left
@@ -90,10 +101,10 @@ Behaviour AvoidHigh
                
 //Mission pushRock
 //     using Drive LocateR LocateL Push StayInFieldB StayInFieldL StayInFieldR and stops when Never
-Mission avoidHighRocks
-       using Drive AvoidHigh BumpR BumpL StayInFieldB StayInFieldL StayInFieldR and stops when Never
-//Mission measureLake
-//     using Drive MeasureLake and stops when Never
+//Mission avoidHighRocks
+//     using Drive AvoidHigh BumpR BumpL StayInFieldB StayInFieldL StayInFieldR and stops when Never
+Mission measureLakes
+       using Drive MeasureRedLake MeasureGreenLake MeasureBlueLake and stops when (&& flag set GreenMeasured flag set BlueMeasured flag set RedMeasured)
 //Mission findBlueLakeWhileAvoidingRocks
 //     using Wander BumpR BumpL StayInFieldB StayInFieldL StayInFieldR and stops when Color is Blue
 //Mission findAllLakesAndMeasureThem