#ref(kadai2_1.jpg)
 
 #define THRESHOLD 50                                                       // ïçÃÍ
 #define turn_right(t) OnFwd(OUT_A);OnRev(OUT_C);Wait(t);Off(OUT_A+OUT_C);  //±¦¤Ë¶Ê¤¬¤ë
 #define turn_left(t) OnRev(OUT_A);OnFwd(OUT_C);Wait(t);Off(OUT_A+OUT_C);   //º¸¤Ë¶Ê¤¬¤ë
 #define go_straight(t) OnFwd(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C);        //Á°¿Ê
 #define RUN_TIME1 90                                                       
 #define RUN_TIME2 70                                                       
 #define RUN_TIME3 34                                                       
 #define RUN_TIME4 27
 #define RUN_TIME5 23
 #define RUN_TIME6 25
 #define RUN_TIME7 25
 #define RUN_TIME8 50
 #define RUN_TIME9 50
 #define RUN_TIME1 90  //­¡¤Î»þ´Ö                                                     
 #define RUN_TIME2 70  //­¢                                                     
 #define RUN_TIME3 34  //­£                                                     
 #define RUN_TIME4 27  //­¤
 #define RUN_TIME5 23  //­¥
 #define RUN_TIME6 25  //­¦
 #define RUN_TIME7 25  //­§
 #define RUN_TIME8 50  //­¨
 #define RUN_TIME9 50  //­©
 
 task main ()
 {   
    SetSensor(SENSOR_1, SENSOR_LIGHT);//¥»¥ó¥µ¡¼1¤Ï¸÷¥»¥ó¥µ¡¼
    SetSensor(SENSOR_3, SENSOR_LIGHT);//¥»¥ó¥µ¡¼3¤Ï¸÷¥»¥ó¥µ¡¼
   ClearTimer(0);

    while (Timer(0) <=RUN_TIME1) //whileÆâ¤òRUN_TIME1Éôַ«¤êÊÖ¤¹¡¦¡¦¡¦­¡
                                        {
        if ((SENSOR_1 < THRESHOLD)&&(SENSOR_3 < THRESHOLD))
        {   
            OnFwd(OUT_A+OUT_C);//(¥»¥ó¥µ¡¼1¡¢¥»¥ó¥µ¡¼3)(¹õ¡¢¹õ)¤Î¤È¤­Á°¿Ê           
        } 
        if ((SENSOR_1 < THRESHOLD)&&(SENSOR_3 > THRESHOLD))
        {   
            Off(OUT_A);//¡Ê¹õ¡¢Çò¡Ë¤Î¤È¤­¡¢º¸¼ÖÎؤò»ß¤á¤Æ¿ÊÏ©¤òº¸¤Ë½¤Àµ¤·µÞ¥«¡¼¥Ö¤ò¶Ê¤¬¤ë
            OnFwd(OUT_C);
         }
        if ((SENSOR_1 > THRESHOLD)&&(SENSOR_3 < THRESHOLD))
         {   
            OnRev(OUT_C);//¡ÊÇò¡¢¹õ¡Ë¤Î¤È¤­¿ÊÏ©¤ò±¦¤Ë½¤Àµ
            OnFwd(OUT_A);
          }
         if ((SENSOR_1 > THRESHOLD)&&(SENSOR_3 > THRESHOLD))
          {   
            OnFwd(OUT_A+OUT_C);//¡ÊÇò¡¢Çò¡Ë¤Î¤È¤­Á°¿Ê           
          } 
                                         }
          Off(OUT_A+OUT_C);
      ClearTimer(0);//¥¿¥¤¥Þ¡¼¥ê¥»¥Ã¥È

      while (Timer(0) <=RUN_TIME2) //¥»¥ó¥µ¡¼1¤ò»ÈÍѤ»¤º¥³¡¼¥¹¤ÎÆ⦤Υ»¥ó¥µ¡¼¤À¤±´¶ÃΤµ¤»¤Æľ³Ñ¤ò¶Ê¤¬¤ë¡¦¡¦¡¦­¢
                      {
        if ((SENSOR_3 < THRESHOLD))
        {   
            OnFwd(OUT_A);//¥»¥ó¥µ¡¼3¤¬¹õ¤Î¤È¤­¿ÊÏ©¤ò±¦¤Ë½¤Àµ
            OnRev(OUT_C);
        } 
        if ((SENSOR_3 > THRESHOLD))
        {   
            OnFwd(OUT_A+OUT_C);//¥»¥ó¥µ¡¼3¤¬Çò¤Î¤È¤­Á°¿Ê          
         }      
                      }
          Off(OUT_A+OUT_C);
      ClearTimer(0);

    while (Timer(0) <=RUN_TIME3)¡¦¡¦¡¦­£
 {
        if ((SENSOR_1 < THRESHOLD)&&(SENSOR_3 < THRESHOLD))
        {   
            OnFwd(OUT_A+OUT_C);//¹õ¡¢¹õ
            OnFwd(OUT_A+OUT_C);//¡Ê¹õ¡¢¹õ¡ËÁ°¿Ê
            
        } 
        if ((SENSOR_1 < THRESHOLD)&&(SENSOR_3 > THRESHOLD))
        {   
            Off(OUT_A);//¹õ¡¢Çò
            Off(OUT_A);//¡Ê¹õ¡¢Çò¡Ë¿ÊÏ©½¤Àµ
            OnFwd(OUT_C);
         }
        if ((SENSOR_1 > THRESHOLD)&&(SENSOR_3 < THRESHOLD))
         {   
            OnRev(OUT_C);//Çò¡¢¹õ
            OnRev(OUT_C);//¡ÊÇò¡¢¹õ¡Ë¿ÊÏ©½¤Àµ
            OnFwd(OUT_A);
          }
         if ((SENSOR_1 > THRESHOLD)&&(SENSOR_3 > THRESHOLD))
          {   
            OnFwd(OUT_A+OUT_C);//Çò¡¢Çò
            OnFwd(OUT_A+OUT_C);//¡ÊÇò¡¢Çò¡ËÁ°¿Ê
            
          } 
                                         }
          Off(OUT_A+OUT_C);

    turn_right(40);                  //¥í¡¼¥¿¥ê¡¼¤ËÆþ¤ëÁ°¤Ë±¦¤Ë¶Ê¤¬¤ë

    ClearTimer(0);

      while (Timer(0) <=RUN_TIME4) //¥í¡¼¥¿¥ê¡¼¤Ç¤Ï¥»¥ó¥µ¡¼1¤À¤±»ÈÍÑ¡¦¡¦¡¦­¤
                      {
        if ((SENSOR_1 < THRESHOLD))
        {   
            OnFwd(OUT_C);//¹õ
            OnFwd(OUT_C);//¡Ê¹õ¡Ë¡¡¿ÊÏ©½¤Àµ
            OnRev(OUT_A);
        } 
        if ((SENSOR_1 > THRESHOLD))
        {   
            OnFwd(OUT_A+OUT_C);//Çò          
            OnFwd(OUT_A+OUT_C);//¡ÊÇò¡Ë  Á°¿Ê        
         }      
                      }
          Off(OUT_A+OUT_C);
 
      turn_right(50);//¥í¡¼¥¿¥ê¡¼½Ð¤ë¤È¤­±¦¤Ë¶Ê¤¬¤ë
 
    ClearTimer(0);

    while (Timer(0) <=RUN_TIME5)¡¦¡¦¡¦­¥
    while (Timer(0) <=RUN_TIME5)¥×¥í¥°¥é¥à¤Ï­£¤ÈƱ¤¸¡¦¡¦¡¦­¥
 {
        if ((SENSOR_1 < THRESHOLD)&&(SENSOR_3 < THRESHOLD))
        {   
            OnFwd(OUT_A+OUT_C);//¹õ¡¢¹õ            
            OnFwd(OUT_A+OUT_C);//¡Ê¹õ¡¢¹õ¡ËÁ°¿Ê            
        } 
        if ((SENSOR_1 < THRESHOLD)&&(SENSOR_3 > THRESHOLD))
        {   
            OnRev(OUT_A);//¹õ¡¢Çò
            OnRev(OUT_A);//¡Ê¹õ¡¢Çò¡Ë¿ÊÏ©½¤Àµ
            OnFwd(OUT_C);
         }
        if ((SENSOR_1 > THRESHOLD)&&(SENSOR_3 < THRESHOLD))
         {   
            OnRev(OUT_C);//Çò¡¢¹õ
            OnRev(OUT_C);//¡ÊÇò¡¢¹õ¡Ë¿ÊÏ©½¤Àµ
            OnFwd(OUT_A);
          }
         if ((SENSOR_1 > THRESHOLD)&&(SENSOR_3 > THRESHOLD))
          {   
           OnFwd(OUT_A+OUT_C); //Çò¡¢Çò            
           OnFwd(OUT_A+OUT_C); //¡ÊÇò¡¢Çò¡ËÁ°¿Ê            
           } 
                      }
          Off(OUT_A+OUT_C);

          turn_right(55);            //¶áÆ»¤ËÆþ¤ëÁ°¤Ë±¦¤Ë¶Ê¤¬¤ë
         go_straight(190);           //¶áÆ»¤òÁ°¿Ê
          turn_right(50);           //¶áÆ»¤Ë½Ð¤ë¤È¤­¤Ë±¦¤Ë¶Ê¤¬¤ë       
         ClearTimer(0);

    while (Timer(0) <=RUN_TIME6) ¡¦¡¦¡¦­¦
    while (Timer(0) <=RUN_TIME6)¥×¥í¥°¥é¥à¤Ï­£¤ÈƱ¤¸ ¡¦¡¦¡¦­¦
 {
        if ((SENSOR_1 < THRESHOLD)&&(SENSOR_3 < THRESHOLD))
        {   
            OnFwd(OUT_A+OUT_C);//¹õ¡¢¹õ           
            OnFwd(OUT_A+OUT_C);//¡Ê¹õ¡¢¹õ¡ËÁ°¿Ê           
        } 
        if ((SENSOR_1 < THRESHOLD)&&(SENSOR_3 > THRESHOLD))
        {   
            OnRev(OUT_A);//¹õ¡¢Çò
            OnRev(OUT_A);//¡Ê¹õ¡¢Çò¡Ë¿ÊÏ©½¤Àµ
            OnFwd(OUT_C);
         }
        if ((SENSOR_1 > THRESHOLD)&&(SENSOR_3 < THRESHOLD))
         {   
            OnRev(OUT_C);//Çò¡¢¹õ
            OnRev(OUT_C);//¡ÊÇò¡¢¹õ¡Ë¿ÊÏ©½¤Àµ
            OnFwd(OUT_A);
          }
         if ((SENSOR_1 > THRESHOLD)&&(SENSOR_3 > THRESHOLD))
          {   
           OnFwd(OUT_A+OUT_C); //Çò¡¢Çò           
           OnFwd(OUT_A+OUT_C); //¡ÊÇò¡¢Çò¡ËÁ°¿Ê           
           } 
                      }
          Off(OUT_A+OUT_C);

           turn_right(30);//¥í¡¼¥¿¥ê¡¼¤ËÆþ¤ëÁ°¤Ë±¦¤Ë¶Ê¤¬¤ë
 
       ClearTimer(0);

      while (Timer(0) <=RUN_TIME7) //¥í¡¼¥¿¥ê¡¼¡¦¡¦¡¦­§
      while (Timer(0) <=RUN_TIME7) //¥×¥í¥°¥é¥à¤Ï­¤¤ÈƱ¤¸¡¦¡¦¡¦­§
                      {
        if ((SENSOR_1 < THRESHOLD))
        {   
            OnFwd(OUT_C);//¹õ
            OnRev(OUT_A);
        } 
        if ((SENSOR_1 > THRESHOLD))
        {   
            OnFwd(OUT_A+OUT_C);//Çò          
         }       
                      }
          Off(OUT_A+OUT_C);

       turn_right(50); //¥í¡¼¥¿¥ê¡¼½Ð¤ë¤È¤­±¦¤Ë¶Ê¤¬¤ë

       ClearTimer(0);

       while (Timer(0) <=RUN_TIME8) ¡¦¡¦¡¦­¨
       while (Timer(0) <=RUN_TIME8) ¥×¥í¥°¥é¥à¤Ï­£¤ÈƱ¤¸¡¦¡¦¡¦­¨
 {
        if ((SENSOR_1 < THRESHOLD)&&(SENSOR_3 < THRESHOLD))
        {   
            OnFwd(OUT_A+OUT_C);//¹õ¡¢¹õ           
            OnFwd(OUT_A+OUT_C);//¡Ê¹õ¡¢¹õ¡ËÁ°¿Ê           
        } 
        if ((SENSOR_1 < THRESHOLD)&&(SENSOR_3 > THRESHOLD))
        {   
            OnRev(OUT_A);//¹õ¡¢Çò
            OnRev(OUT_A);//¡Ê¹õ¡¢Çò¡Ë¿ÊÏ©½¤Àµ
            OnFwd(OUT_C);
         }
        if ((SENSOR_1 > THRESHOLD)&&(SENSOR_3 < THRESHOLD))
         {   
            OnRev(OUT_C);//Çò¡¢¹õ
            OnRev(OUT_C);//¡ÊÇò¡¢¹õ¡Ë¿ÊÏ©½¤Àµ
            OnFwd(OUT_A);
          }
         if ((SENSOR_1 > THRESHOLD)&&(SENSOR_3 > THRESHOLD))
          {   
           OnFwd(OUT_A+OUT_C); //Çò¡¢Çò           
           OnFwd(OUT_A+OUT_C); //¡ÊÇò¡¢Çò¡ËÁ°¿Ê           
           } 
                      }
          Off(OUT_A+OUT_C);
         ClearTimer(0);

       while (Timer(0) <=RUN_TIME9)¡¦¡¦¡¦­©
 {
        if ((SENSOR_1 < THRESHOLD)&&(SENSOR_3 < THRESHOLD))
        {   
            OnFwd(OUT_A+OUT_C);//¹õ¡¢¹õ            
            OnFwd(OUT_A+OUT_C);//¡Ê¹õ¡¢¹õ¡ËÁ°¿Ê            
        } 
        if ((SENSOR_1 < THRESHOLD)&&(SENSOR_3 > THRESHOLD))
        {   
            OnRev(OUT_A);//¹õ¡¢Çò
            OnRev(OUT_A);//¡Ê¹õ¡¢Çò¡Ë¿ÊÏ©½¤Àµ
            OnFwd(OUT_C);
         }
        if ((SENSOR_1 > THRESHOLD)&&(SENSOR_3 < THRESHOLD))
         {   
            Off(OUT_C);//(Çò¡¢¹õ)¤Î¤È¤­¡¢º¸¼ÖÎؤò»ß¤á¤Æ¿ÊÏ©¤òº¸¤Ë½¤Àµ¤·µÞ¥«¡¼¥Ö¤ò¶Ê¤¬¤ë
            Off(OUT_C);//(Çò¡¢¹õ)¤Î¤È¤­¡¢±¦¼ÖÎؤò»ß¤á¤Æ¿ÊÏ©¤ò±¦¤Ë½¤Àµ¤·µÞ¥«¡¼¥Ö¤ò¶Ê¤¬¤ë
            OnFwd(OUT_A);
          }
         if ((SENSOR_1 > THRESHOLD)&&(SENSOR_3 > THRESHOLD))
          {   
           OnFwd(OUT_A+OUT_C); //Çò¡¢Çò           
           OnFwd(OUT_A+OUT_C); //¡ÊÇò¡¢Çò¡ËÁ°¿Ê           
           } 
                      }
          Off(OUT_A+OUT_C);
 }

¥È¥Ã¥×   ÊÔ½¸ º¹Ê¬ ÍúÎò źÉÕ Ê£À½ ̾Á°Êѹ¹ ¥ê¥í¡¼¥É   ¿·µ¬ °ìÍ÷ ¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS