-public class Behaviours{
- «FOR b : list»
- public static class «b.name»Behaviour extends BasicBehaviour {
- public «b.name»Behaviour(SensorCollector sensors, EV3LargeRegulatedMotor rightMotor,
- EV3LargeRegulatedMotor leftMotor, ColorMemory colors){
- super(sensors, rightMotor, leftMotor, colors);
- }
- «IF b.tc != null»
- @Override public boolean takeControl(){
- return «printExpression(b.tc)»;
- }
- «ENDIF»
-
- @Override public void action(){
- super.action();
- «FOR a : b.actions»
- «IF a.whichMotor != null»
- «IF a.acc > 0»
- «a.whichMotor.d.toString()»Motor.setAcceleration(«a.acc»);
- «a.whichMotor.d.toString()»Motor.setSpeed(«a.spd»);
- «ENDIF»
- «a.whichMotor.d.toString()»Motor.«a.dir.d.toString()»();
- «ELSE»
- time = System.currentTimeMillis();
- while(!suppressed«IF a.time.time > 0» && System.currentTimeMillis()-time>«a.time.time»«ENDIF»){
- Thread.yield();
+import lejos.robotics.subsumption.Behavior;
+import lejos.robotics.RegulatedMotor;
+
+import nl.ru.des.sensors.SensorCollector;
+
+public class Missions{
+ public static LinkedList<Mission> getMissions(final SensorCollector sensors, RegulatedMotor rightMotor,
+ RegulatedMotor leftMotor, RegulatedMotor measMotor){
+ LinkedList<Mission> missions = new LinkedList<Mission>();
+ «FOR m : mission SEPARATOR "));" AFTER "));"»
+ missions.add(new Mission("«m.name»", new Behavior[]{
+ «FOR b : m.behaviours SEPARATOR "," AFTER ","»new «b.name»Behaviour(sensors, rightMotor, leftMotor, measMotor)
+ «ENDFOR»
+ new ShutdownBehaviour(){
+ @Override public boolean takeControl(){
+ return «printExpression(m.se)»;