38 lines
		
	
	
		
			677 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			38 lines
		
	
	
		
			677 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								function ac(options) {
							 | 
						||
| 
								 | 
							
								  this.options=options;
							 | 
						||
| 
								 | 
							
								  this.sensor=null;
							 | 
						||
| 
								 | 
							
								  this.act = {
							 | 
						||
| 
								 | 
							
								    start: function () {
							 | 
						||
| 
								 | 
							
								      log('Starting .. '+this.options.msg)
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    percept: function () {
							 | 
						||
| 
								 | 
							
								      rd.try(0,['SENSOR',_],function (t) {
							 | 
						||
| 
								 | 
							
								        if (t) this.sensor=t[1];
							 | 
						||
| 
								 | 
							
								      })
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    action : function () {
							 | 
						||
| 
								 | 
							
								      log(this.sensor);
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    stop: function () {
							 | 
						||
| 
								 | 
							
								      log('Terminating ..')
							 | 
						||
| 
								 | 
							
								      kill()
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  
							 | 
						||
| 
								 | 
							
								  this.trans = {
							 | 
						||
| 
								 | 
							
								    start:"percept",
							 | 
						||
| 
								 | 
							
								    percept: function () { 
							 | 
						||
| 
								 | 
							
								      if (this.sensor!=null) return "action";
							 | 
						||
| 
								 | 
							
								      else return "stop";
							 | 
						||
| 
								 | 
							
								    },
							 | 
						||
| 
								 | 
							
								    action:"stop"
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  this.next="start";
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								out(['SENSOR',1000])
							 | 
						||
| 
								 | 
							
								var ag1 = create(ac,{msg:'with pace'},2);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								start();
							 | 
						||
| 
								 | 
							
								
							 |