[[2005/B5/課題2]]

 作成日:11月26日
 作成者:Dezz
 #define turn_TIME 104              
 
 sub turn_left()                      
 {
  OnRev(OUT_A);OnFwd(OUT_C);      
  Wait(turn_TIME);Off(OUT_A+OUT_C);Wait(50);
 }
 
 
 task main()
 { 
 SetSensor(SENSOR_1,SENSOR_TOUCH);     
 SetSensor(SENSOR_3,SENSOR_TOUCH);    
  
  while(true)
  {
    if (( SENSOR_1 == 0)&&( SENSOR_3 == 1 ))
     {
      Off (OUT_A+OUT_C);
      OnFwd(OUT_C);Wait(10);Off (OUT_A+OUT_C); 
      OnFwd(OUT_C+OUT_A);
     }                    
    
    if ( SENSOR_1 == 1 )               
     {
      Off (OUT_A+OUT_C); 
      OnRev(OUT_A+OUT_C);               
      Wait (30) ;turn_left();
      OnFwd(OUT_A);Wait(20);OnFwd(OUT_C+OUT_A);
      until(SENSOR_3 == 1);
     }                    
    
    if (( SENSOR_3 == 0 ) &&  ( SENSOR_1 == 0 ))                   
     {
      Off (OUT_A+OUT_C);    
      OnFwd(OUT_A);                
     }
   }                                     
 }

[[戻る>2005/B5/課題1]]

コメントをどうぞ
-SENSOR_1==0 の場合をさらに場合分けして if ブロックの中にさらに if ブロックを使うこともできますね。 -- [[松本(教員)]] &new{2005-11-29 (火) 19:47:17};

#comment


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS