[[2005/B2/わたるのノート]]
#define black_green 40
#define green_white 50
int first_box ;
int second_box ;
  int A;
    int B;

 

 task main()
  { 
     ClearMessage();
     until (Message() != 0);
      SetSensor (SENSOR_1, SENSOR_LIGHT);
     
    i  ( Message() ==31 )         //up
    {
    OnFwd(OUT_A+OUT_C);Wait(70);
    Off(OUT_A+OUT_C); Wait(20);
    if ( SENSOR_1 < 45 )
    {
    	A = 1;
    }
    if ((SENSOR_1>=45) &&  (SENSOR_1< 52))
    {
       A = 2;PlaySound(SOUND_LOW_BEEP); Wait(100);
    }
    if(SENSOR_1>=52)
    {
      A = 3;
     }  
     
    OnFwd(OUT_A+OUT_C);Wait(50);
    Off(OUT_A+OUT_C);
    OnRev(OUT_A);
    Wait(70);
    Off(OUT_A);
 
    SendMessage(32);Wait(200);
    }
    
    if ( Message() ==33 )         //up 2
    {
    OnFwd(OUT_A+OUT_C);
    Wait(150);
    Off(OUT_A+OUT_C);
    if ( SENSOR_1 < 40 )
    {
    	B = 1;
     }
    if ((SENSOR_1>=40) &&  (SENSOR_1< 50))
    {
       B = 2;
    }
    if(SENSOR_1>=50)
    {
      B = 3;PlaySound(SOUND_LOW_BEEP); Wait(100);
     }

 

    SendMessage(34);Wait(200);
    } 
    until(Message() ==100 )   
    start light_sensor;
    
    stop light_sensor;
    
    if (Message() ==3 )         //down
    {
    OnRev(OUT_A+OUT_C);               
    Wait(70);
    Off(OUT_A+OUT_C);
    Wait(50);
    OnFwd(OUT_A);            //2つ目を落とさないように上げる
    Wait(70);
    Off(OUT_A);
    SendMessage(21 );Wait(200);
     } 
 }
 
 task light_sensor ()
 {
    //(SENSOR_1 <  black_green);  // black       //(SENSOR_1   >= black_green   && SENSOR_1 <= green_white);  //green
    //(SENSOR_1 > green_white ); //white
     
     if ((A ==  2) && (B == 3))
     {
     SendMessage(1);Wait(200);
     OnFwd(OUT_A+OUT_C);Wait(100);
     }
     
     if ((A == 2) && (B == 1))            //if - while
     {
     SendMessage(2);Wait(200);
     }
     
     if ((A == 3) && (B == 1))
     {
     SendMessage(3);Wait(200);
     }
     
     if ((A == 3) && (B == 2))
     {
     SendMessage(4);Wait(200);
     }
     
     if ((A ==  1) && (B == 2)) 
     {
     SendMessage(5);Wait(200);
     }
     
     if ((A ==  1) && (B == 3))
     {
     SendMessage(6);Wait(200);
     }
 }

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