[[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);
    
    if ( 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);    // time  keisoku 1tu dake  otosu           
    Wait(70);
    Off(OUT_A+OUT_C);
    Wait(50);
    OnFwd(OUT_A);
    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