X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=dsl%2Fxtend%2Fsrc%2Frobots%2Fmissions%2Fgenerator%2FTaskDSLGenerator.xtend;h=5af781fe826671e80efcd4716afe74398734559b;hb=ac44621696b120a5aec35edff6b7181a4aafa383;hp=f413af6b8aa070e6674170b00155fe42062876c5;hpb=1b13ccb59263b66abc763fb8f298b14bdebc9582;p=des2015.git diff --git a/dsl/xtend/src/robots/missions/generator/TaskDSLGenerator.xtend b/dsl/xtend/src/robots/missions/generator/TaskDSLGenerator.xtend index f413af6..5af781f 100644 --- a/dsl/xtend/src/robots/missions/generator/TaskDSLGenerator.xtend +++ b/dsl/xtend/src/robots/missions/generator/TaskDSLGenerator.xtend @@ -104,12 +104,15 @@ public class «b.name»Behaviour extends BasicBehaviour { «ELSE» turnRandom(«a.turnType.start», «a.turnType.end»); «ENDIF» + «ELSEIF a.rl != null» + measure«a.rl.d.toString()»(); «ELSE» - measure(); + if(!suppressed){ + sensors.saveVar("«a.varName.toString()»"); + } «ENDIF» «ENDFOR» LCDPrinter.print("Stop: «b.name»"); - reset(); } } ''' @@ -124,8 +127,8 @@ public class Constants{ def CharSequence printExpression(StoppingExpression e)''' «IF e.scond != null» - «IF !e.scond.colors.nullOrEmpty» - sensors.collected(new int[]{«FOR c : e.scond.colors SEPARATOR ","»«c.d.ordinal»«ENDFOR»}) + «IF e.scond.varName != null» + sensors.collected("«e.scond.varName.toString()»") «ELSEIF e.scond.touch != null» sensors.«e.scond.touch.d.toString()»Touch() «ELSEIF e.scond.light != null» @@ -134,6 +137,8 @@ public class Constants{ sensors.«e.scond.dist.d.toString()»Distance() «ELSEIF e.scond.color != null» sensors.color() == «e.scond.color.d.ordinal» + «ELSE» + false «ENDIF» «ELSEIF e.negscond != null» !(«printExpression(e.negscond)») @@ -142,6 +147,6 @@ public class Constants{ «FOR ex : e.s BEFORE "(" SEPARATOR "&&" AFTER ")"»«printExpression(ex)»«ENDFOR» «ELSE» «FOR ex : e.s BEFORE "(" SEPARATOR "||" AFTER ")"»«printExpression(ex)»«ENDFOR» - «ENDIF» + «ENDIF» «ENDIF»''' } \ No newline at end of file