2005/MemberOnly/進行状況B

sub tukamu() {OnFwd(OUT_B);Wait(70);}
sub oku() {OnRev(OUT_B);Wait(70);}
#define run_time  900
sub sasetu() {           
OnFwd(OUT_A);OnRev(OUT_C);Wait(80);Off(OUT_A+OUT_C);}
sub usetu() {  
OnFwd(OUT_C);OnRev(OUT_A);Wait(80);Off(OUT_A+OUT_C);}
task main()
{   
  SetSensor(SENSOR_1,SENSOR_LIGHT); 
  SetSensor(SENSOR_2,SENSOR_LIGHT); 
  SetSensor(SENSOR_3,SENSOR_LIGHT);
	tukamu();	//	  
the 1st	
	OnRev(OUT_A+OUT_C);Wait(50); 
	sasetu();           
	OnFwd(OUT_A+OUT_C);     
	Wait(500);
	usetu();           
	ClearTimer(0);        
	while(Timer(0) <= run_time)  
	{    
            if (SENSOR_1<40&& SENSOR_2>40) 
             {OnFwd(OUT_A);OnRev(OUT_C);} 
	     if(SENSOR_1>40&& SENSOR_2<40) 
	      {OnFwd(OUT_C);OnRev(OUT_A);} 
	     if(SENSOR_1<40&&SENSOR_2<40)  
	      {Off(OUT_A+OUT_C);}      
	     else {OnFwd(OUT_A+OUT_C);} 
	}
	ClearTimer(1);	   
	while(30<SENSOR_3<=40) 
	{  
            OnFwd(OUT_A+OUT_C);     
	     Wait(106);
	     usetu();           
	     OnFwd(OUT_A+OUT_C);    
	     Wait(106);Off(OUT_A+OUT_C); 
	}
	while(SENSOR_3>=40)       
	{  
            OnFwd(OUT_A+OUT_C);     
	     Wait(318);
	     usetu();           
	     OnFwd(OUT_A+OUT_C);     
	     Wait(106);Off(OUT_A+OUT_C); 
	}
       while(SENSOR_3<=30)        
	{    
            OnFwd(OUT_A+OUT_C);     
	     Wait(530);          
	     usetu();           
	     OnFwd(OUT_A+OUT_C);     
	     Wait(106);Off(OUT_A+OUT_C); 
	} 
	oku();              
       OnRev(OUT_A+OUT_C);       
	Wait(106);
	usetu();             
       while(318<Timer(1)<530)      
	{    
            OnFwd(OUT_A+OUT_C);    
	     Wait(106);Off(OUT_A+OUT_C); 
	}
	while(530<Timer(1)<742)      
	{    
            OnFwd(OUT_A+OUT_C);     
	     Wait(318);Off(OUT_A+OUT_C); 
	}
	while(742<Timer(1))        
	{    
            OnFwd(OUT_A+OUT_C);     
	     Wait(530);Off(OUT_A+OUT_C); 
	}
	ClearTimer(0);          
	while(Timer(0) <= run_time)     
	{    
            if (SENSOR_1<40&& SENSOR_2>40) 
	      {OnFwd(OUT_A);OnRev(OUT_C);} 
	     if(SENSOR_1>40&& SENSOR_2<40)  
	      {OnFwd(OUT_C);OnRev(OUT_A);}  
	     if(SENSOR_1<40&&SENSOR_2<40)   
	      {Off(OUT_A+OUT_C);}           
	     else {OnFwd(OUT_A+OUT_C);}     
	}
	usetu();       
	OnFwd(OUT_A+OUT_C); 
	until(SENSOR_1<40)  
	sasetu();      
	OnFwd(OUT_A+OUT_C); 
	Wait(106);
	sasetu();      
	OnFwd(OUT_A+OUT_C); 
	Wait(106);
	Off(OUT_A+OUT_C);
	tukamu();//						 the 3rd
	OnRev(OUT_A+OUT_C);Wait(50);
	sasetu();
	OnFwd(OUT_A+OUT_C);
	Wait(106);
	usetu();
	ClearTimer(0);
	while(Timer(0) <= run_time)  
	{    
            if (SENSOR_1<40&& SENSOR_2>40)
	      {OnFwd(OUT_A);OnRev(OUT_C);}
	     if(SENSOR_1>40&& SENSOR_2<40)
	      {OnFwd(OUT_C);OnRev(OUT_A);}
	     if(SENSOR_1<40&&SENSOR_2<40)
	      {Off(OUT_A+OUT_C);}
	     else {OnFwd(OUT_A+OUT_C);}
	}
	ClearTimer(1); 	
	 while(30<SENSOR_3<=40)
	 {     
               OnFwd(OUT_A+OUT_C);
	 	Wait(106);
	 	usetu();
	 	OnFwd(OUT_A+OUT_C);
	 	Wait(106);Off(OUT_A+OUT_C);
	 }
	 while(SENSOR_3>=40)
	 {	
               OnFwd(OUT_A+OUT_C);
	 	Wait(318);
	 	usetu();
	 	OnFwd(OUT_A+OUT_C);
               Wait(106);Off(OUT_A+OUT_C);
	 }
	 while(SENSOR_3<=30)
	 {	
               OnFwd(OUT_A+OUT_C);
	 	Wait(530);
	 	usetu();
	 	OnFwd(OUT_A+OUT_C);
	 	Wait(106);Off(OUT_A+OUT_C);
	 }
	 oku();
	 OnRev(OUT_A+OUT_C);
	 Wait(106);
	 usetu();
	 while(318<Timer(1)<530)
	 {      
               OnFwd(OUT_A+OUT_C);
	        Wait(106);Off(OUT_A+OUT_C);
	 }
	 while(530<Timer(1)<742)
	 {      
               OnFwd(OUT_A+OUT_C);
	        Wait(318);Off(OUT_A+OUT_C);
	 }
	 while(742<Timer(1))
	 {      
               OnFwd(OUT_A+OUT_C);
	        Wait(530);Off(OUT_A+OUT_C);
	 }
	 ClearTimer(0);
	 while(Timer(0) <= run_time)  
	 {      
               if (SENSOR_1<40&& SENSOR_2>40)
		 {OnFwd(OUT_A);OnRev(OUT_C);}
	        if(SENSOR_1>40&& SENSOR_2<40)
	         {OnFwd(OUT_C);OnRev(OUT_A);}
	        if(SENSOR_1<40&&SENSOR_2<40)
	         {Off(OUT_A+OUT_C);}
	       else {OnFwd(OUT_A+OUT_C);}
	 }
	 sasetu();
	 OnFwd(OUT_A+OUT_C);
	 Wait(212);
	 usetu();
	 OnFwd(OUT_A+OUT_C);
	 Wait(530);
	 usetu();
	 OnFwd(OUT_A+OUT_C);
	 Wait(36);
	 Off(OUT_A+OUT_C);
	 tukamu();//						 the 4th
	 OnRev(OUT_A+OUT_C);Wait(50);
	 usetu();
	 OnFwd(OUT_A+OUT_C);
	 Wait(530);
	 sasetu();
	 ClearTimer(0);
	 while(Timer(0) <= run_time)  
	 {
               if (SENSOR_1<40&& SENSOR_2>40)
		 {OnFwd(OUT_A);OnRev(OUT_C);}
	        if(SENSOR_1>40&& SENSOR_2<40)
	 	 {OnFwd(OUT_C);OnRev(OUT_A);}
	        if(SENSOR_1<40&&SENSOR_2<40)
	         {Off(OUT_A+OUT_C);}
               else {OnFwd(OUT_A+OUT_C);}
	 }
	 	 ClearTimer(1);
	 while(30<SENSOR_3<=40)
	 {      
               OnFwd(OUT_A+OUT_C);
	 	Wait(106);
	 	usetu();
	 	OnFwd(OUT_A+OUT_C);
	 	Wait(106);Off(OUT_A+OUT_C);
	 }
	 while(SENSOR_3>=40)
	 {	
               OnFwd(OUT_A+OUT_C);
	 	Wait(318);
	 	usetu();
	 	OnFwd(OUT_A+OUT_C);
	 	Wait(106);Off(OUT_A+OUT_C);
	 }
	 while(SENSOR_3<=30)
	 {	
               OnFwd(OUT_A+OUT_C);
	 	Wait(530);
	 	usetu();
	 	OnFwd(OUT_A+OUT_C);
	 	Wait(106);Off(OUT_A+OUT_C);
	 }
	 oku();
	 OnRev(OUT_A+OUT_C);
	 Wait(106);
	 usetu();
	 while(318<Timer(1)<530)
	 {      
               OnFwd(OUT_A+OUT_C);
	 	Wait(106);Off(OUT_A+OUT_C);
        }
	 while(530<Timer(1)<742)
	 {	
               OnFwd(OUT_A+OUT_C);
	 	Wait(318);Off(OUT_A+OUT_C);
	 }
	 while(742<Timer(1))
	 {	
               OnFwd(OUT_A+OUT_C);
	 	Wait(530);Off(OUT_A+OUT_C);
	 }
	 ClearTimer(0);
	 while(Timer(0) <= run_time)  
	 {	
               if (SENSOR_1<40&& SENSOR_2>40)
		 {OnFwd(OUT_A);OnRev(OUT_C);}
	 	if(SENSOR_1>40&& SENSOR_2<40)
	 	 {OnFwd(OUT_C);OnRev(OUT_A);}
	 	if(SENSOR_1<40&&SENSOR_2<40)
	 	 {Off(OUT_A+OUT_C);}
	 	else {OnFwd(OUT_A+OUT_C);}
	 }
	 sasetu();
	 OnFwd(OUT_A+OUT_C);
	 Wait(212);
	 usetu();
	 OnFwd(OUT_A+OUT_C);
	 Wait(106);
	 usetu();
	 OnFwd(OUT_A+OUT_C);
	 Wait(36);
	 Off(OUT_A+OUT_C);
	 tukamu();//						 the 6th
	 OnRev(OUT_A+OUT_C);Wait(50);
	 usetu();
	 OnFwd(OUT_A+OUT_C);
	 Wait(106);
	 sasetu();
	 ClearTimer(0);
	 while(Timer(0) <= run_time)  
	 {	
               if (SENSOR_1<40&& SENSOR_2>40)
	         {OnFwd(OUT_A);OnRev(OUT_C);}
	 	if(SENSOR_1>40&& SENSOR_2<40)        	        
                {OnFwd(OUT_C);OnRev(OUT_A);}
	 	if(SENSOR_1<40&&SENSOR_2<40)
	 	 {Off(OUT_A+OUT_C);}
	 	else {OnFwd(OUT_A+OUT_C);}
	 }
	 ClearTimer(1);
	 while(30<SENSOR_3<=40)
	 {      
               OnFwd(OUT_A+OUT_C);
	 	Wait(106);
	 	usetu();
	 	OnFwd(OUT_A+OUT_C);
	 	Wait(106);Off(OUT_A+OUT_C);
	 }
	 while(SENSOR_3>=40)
	 {	
               OnFwd(OUT_A+OUT_C);
	 	Wait(318);
	 	usetu();
	 	OnFwd(OUT_A+OUT_C);
	 	Wait(106);Off(OUT_A+OUT_C);
	 }
	 while(SENSOR_3<=30)
	 {	
               OnFwd(OUT_A+OUT_C);
	 	Wait(530);
	 	usetu();
	 	OnFwd(OUT_A+OUT_C);
	 	Wait(106);Off(OUT_A+OUT_C);
	 }
	 oku();
	 }

感想::

  • これだけじゃさっぱりわかりません(’’; これが何を目的としたプログラムでどのように動作するのかもわかりません。ロボコンを通じてどのうようなことを考えて、どんなロボットを組み立てて、そしてどんな結果だったのか、何がだめだったか、どうすれば改善できるか、そういったことを人がみてわかるように書いてください。C5C6を参考にするとよいでしょう。下手くそでもいいので面倒くさがらずにやってみてください。 -- まいける(TA) 2006-02-18 (土) 01:49:34


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-02-18 (土) 01:50:31