Ìܼ¡
#contents
*¥í¥Ü¥Ã¥È¤ÎÀâÌÀ [#u91f4c0f]
-Ǥ̳
+º£²óºî¤Ã¤¿¥í¥Ü¥Ã¥È¤Ï¼«ºî¤·¤¿¥³¡¼¥¹¤Ë±è¤Ã¤Æ°ì¼þ¤¹¤ë¤¹¤ë¥í¥Ü¥Ã¥È¤Ç¤¹¡£¸òº¹ÅÀ¤ò¤­¤Á¤ó¤Èǧ¼±¤·¡¢Àµ¤·¤¯È½ÃǤ·¤ÆÄ̲á¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¡£ ³Î¼Â¤Ë°ì¼þ¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¡£¥¹¥¿¡¼¥ÈÃÏÅÀ¤«¤é½Ðȯ¤·¤Æ¸µ¤Ë¤â¤É¤ë¤è¤¦¤Ë¤¹¤ë¡£¶õ¤­´Ì¤ò¸òº¹ÅÀ¤«¤é10cm°Ê¾åÎ¥¤·¤¿Àþ¾å¤Ëµ¯¤­¡¢¤½¤ì¤ò°ìö¤É¤±¤ÆºÆ¤Ó¸µ¤Î°ÌÃ֤ˤâ¤É¤¹¤è¤¦¤Ë²þÎɤ¹¤ë¡£
+º£²óºî¤Ã¤¿¥í¥Ü¥Ã¥È¤Ï¼«ºî¤·¤¿¥³¡¼¥¹¤Ë±è¤Ã¤Æ°ì¼þ¤¹¤ë¥í¥Ü¥Ã¥È¤Ç¤¹¡£¸òº¹ÅÀ¤ò¤­¤Á¤ó¤Èǧ¼±¤·¡¢Àµ¤·¤¯È½ÃǤ·¤ÆÄ̲á¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¡£ ³Î¼Â¤Ë°ì¼þ¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¡£¥¹¥¿¡¼¥ÈÃÏÅÀ¤«¤é½Ðȯ¤·¤Æ¸µ¤Ë¤â¤É¤ë¤è¤¦¤Ë¤¹¤ë¡£¶õ¤­´Ì¤ò¸òº¹ÅÀ¤«¤é10cm°Ê¾åÎ¥¤·¤¿Àþ¾å¤Ëµ¯¤­¡¢¤½¤ì¤ò°ìö¤É¤±¤ÆºÆ¤Ó¸µ¤Î°ÌÃ֤ˤâ¤É¤¹¤è¤¦¤Ë²þÎɤ¹¤ë¡£
-ÌäÂêÅÀ
+¸òº¹ÅÀ¤Îǧ¼±¤¬°ìÈÖÆñ¤·¤¤¤À¤È»×¤¦¡¢¥»¥ó¥µ¡¼¤Îǧ¼±ÅÙ¤¬Ä㤤¤Ç¤¹¡£
-²ò·èÊýË¡
+¥í¥Ü¥Ã¥È¤Ï°ì¤Ä¤º¤Ä¸òº¹ÅÀÅþÃ夹¤ë»þ´Ö¤ò¬Î̤¹¤ë¡¢»þ´Ö¤Ë¤è¤Ã¤Æ¤É¤Á¤é¤Î¸òº¹ÅÀ¤ÎÁ°»ß¤á¤Ç¤­¤ë¡¢¤½¤·¤Æ¼«¿È¤òÄ´À᤹¤ë¸òº¹ÅÀ¤òÄ̲᤹¤ë¡£
-Ĺ½ê
+Àµ³Î¤Ë¸òº¹ÅÀ¤òÅϤµ¤»¤ë

-¼Ì¿¿
&ref(./32764676.jpeg,100%,robotto);
-¹¶Î¬
&ref(2013b/Member/dtb/Mission1/bk201.gif,100%,keiro);
¡Ü¥³¡¼¥¹¤ò£µÊ¬³ä¤¹¤ë¡£¾Ü¤·¤¯¤Ï¿Þ¤è¤ê¡£¤½¤ì¤Ëȼ¤¤¥×¥í¥°¥é¥à¤â¿¤¤¤¯¤¯¤ê¤Ç¸«¤ë¤È5¤Ä¤Î¹½À®¤Ë
¤Ê¤Ã¤Æ¤¤¤ë(¥´¡¼¥ë¤ÎÆ°ºî¤Ï¾Ê¤¯)
¡Ü(¤Ê¤ªÁö¤ë½çÈ֤ϭ¡¢ª­¢¢ª­£¢ª­¤¢ª­¥¢ª¥´¡¼¥ë¤Ç¡¢¿á¤­½Ð¤·¤ÎÃæ¤Î¿ô»ú¤Ï¸òº¹ÅÀ¤ÎÈÖ¹æ¤Ç¤¢¤ë¡£)
*¥×¥í¥°¥é¥à [#s2c3add9]
 #define THRESHOLD 37
 #define HIPOWER 6
 #define LOWPOWER 1
 #define set_power_H SetPower(OUT_AC,HIPOWER);
 #define set_power_L SetPower(OUT_AC,LOWPOWER);
 #define turn_left set_power_L;Off(OUT_A);OnFwd(OUT_C);
 #define senkai_left set_power_L;OnRev(OUT_A);OnFwd(OUT_C);
 #define turn_right set_power_L;Off(OUT_C);OnFwd(OUT_A);
 #define senkai_right set_power_L;OnRev(OUT_C);OnFwd(OUT_A);
 #define go_forward set_power_H;OnFwd(OUT_AC);
 #define STEP 1 
 #define SAIDAI 3
 #define short_break Off(OUT_AC);Wait(80); //¾®µÙ·Æ
 #define CROSS_TIME 60 //¸òº¹ÅÀ¤òÅϤë»þ´Ö
 #define cross_line(p,q) short_break;senkai_right;Wait(p);senkai_left;Wait(q);go_forward;\
                        Wait(CROSS_TIME);Off(OUT_AC);                         //¸òº¹ÅÀÅϤë
 #define counter3 PlaySound(SOUND_CLICK);Off(OUT_AC);Wait(50);//3²óÌĤë¤È¸òº¹ÅÀ¤òÅϤë
 #define GOOL short_break;turn_right;Wait(350);go_forward;Wait(100);Off(OUT_AC);




 sub akikan_1()                       //¶õ¤­´Ì¤ò¤É¤«¤¹¥×¥í¥°¥é¥à1²óÌÜ
 {
   if(SENSOR_3==1){
        Off(OUT_AC);Wait(60);
        turn_left;Wait(460);
        go_forward;Wait(80);
        senkai_left;Wait(500);
        OnRev(OUT_AC);Wait(80);
        senkai_right;Wait(110);
        go_forward;until(SENSOR_2 <= THRESHOLD);
        senkai_right;Wait(170);}
 }


 
 sub akikan_2()                       //¶õ¤­´Ì¤ò¤É¤«¤¹¥×¥í¥°¥é¥à2²óÌÜ
 {
   if(SENSOR_3==1){
       Off(OUT_AC);Wait(60);
       senkai_left;Wait(120);
       go_forward;Wait(180);
       senkai_left;Wait(500);
       OnRev(OUT_AC);Wait(100);
       senkai_right;Wait(80);
       go_forward;until(SENSOR_2 <= THRESHOLD);}

 
 } 


 
 sub line_race()                  //ÉáÄ̤ιõÀþ¤òÁö¤ë¥×¥í¥°¥é¥à
 {
   int nOnline=0;

 
     if(SENSOR_2 < THRESHOLD -2){
        senkai_right;
     }else if(SENSOR_2 < THRESHOLD -1){  //¹õ¤¤Àþ¾å
        turn_right;
     }else if(SENSOR_2 <= THRESHOLD){¡¡//¹õ¤¤Àþ¤ÈÇò¤¤Àþ¤Î´Ö¡¡
        go_forward;
     }else if(SENSOR_2 < THRESHOLD +2){¡¡//Çò¤¤Àþ¾å
        turn_left;
     }else{senkai_left;}
    Wait(STEP);nOnline=0;
 }


 sub before_cross_line()        ////¶­³¦ÀþÉÕ¶á¤Î¹õÀþ¤òÁö¤ë¥×¥í¥°¥é¥à 
 
 sub before_cross_line()          //¶­³¦ÀþÉÕ¶á¤Î¹õÀþ¤òÁö¤ë¥×¥í¥°¥é¥à 
 {
  int nOnline=0; 

 
   while (nOnline < SAIDAI){
    if(SENSOR_2 < THRESHOLD -3){
        counter3;
        senkai_right;
        nOnline++;
    }else{
      if(SENSOR_2 < THRESHOLD -1){
        turn_right;
     }else if(SENSOR_2 <= THRESHOLD){
        go_forward;
      }else if(SENSOR_2 < THRESHOLD +2){
        turn_left;
         }else{senkai_left;}
       nOnline=0;
      }
    Wait(STEP);
   }                                            //while(<saidai)ʸ½ª¤ï¤ê               
 } 




 task main()
 {
  SetSensor(SENSOR_3,SENSOR_TOUCH);
  SetSensor(SENSOR_2,SENSOR_LIGHT);
  int nCross=0;
  ClearTimer(0);
  
 
 while(nCross<6){



 
 
 
 if(nCross==0){

 
  while(FastTimer(0)<2350){    //£²£³£µ£°¥ß¥ê¤ÇÂè°ì¸òº¹ÅÀ¤ËÅþÃ夹¤ë
     line_race();
     akikan_1();
  }                                           //while(line_race)ʸ½ª¤ï¤ê

 
  if(FastTimer(0)>=2350){  //Âè°ì¸òº¹ÅÀ¤òÅϤë
   before_cross_line();
   cross_line(30,0);
  }                                            //if(cross_line)ʸ½ª¤ï¤ê
  PlaySound(SOUND_DOWN);¡¡¡¡//À¼¤ò½Ð¤¹
  ClearTimer(0); 
  nCross++;

 
 }                                              //nCross0½ª¤ï¤ê





 
 
 
 
 
 else if(nCross==1){

 
  while(FastTimer(0)<830){ ¡¡¡¡//ÂèÆó¸òº¹ÅÀÅþÃ夹¤ë
     line_race();
  }                                           //while(line_race)ʸ½ª¤ï¤ê

 
  if(FastTimer(1)>=830){¡¡¡¡//¸òº¹ÅÀ¤òÅϤë
   before_cross_line();
   cross_line(0,0);
  }                                          //while(cross_line)ʸ½ª¤ï¤ê
  PlaySound(SOUND_DOWN);
  ClearTimer(0);¡¡¡¡¡¡//¥¿¥¤¥Þ¡¼¤ò¥¼¥í¤Ë¤Ê¤ë
  nCross++;

 
 }                                            //nCross1½ª¤ï¤ê





 
 
 
 
 
 else if(nCross==2){

 
  while(FastTimer(0)<100){ ¡¡¡¡//Âè»°¸òº¹ÅÀ
    line_race();
  }                                           //while(line_race)ʸ½ª¤ï¤ê

 
  if(FastTimer(0)>=100){¡¡¡¡¡¡//¸òº¹ÅÀ¤òÅϤ¹
   before_cross_line();
   cross_line(0,0);
  }                                           //while(cross_line)ʸ½ª¤ï¤ê
  PlaySound(SOUND_DOWN);
  ClearTimer(0); ¡¡¡¡¡¡//¥¿¥¤¥Þ¡¼¤ò¥¼¥í¤Ë¤Ê¤ë
  nCross++;

 
 }                                             //nCross2½ª¤ï¤ê





 
 
 
 
 
 else if(nCross==3){

 
  while(FastTimer(0)<1070){ ¡¡¡¡//Âè»Í¸òº¹ÅÀ¡×
    line_race();
  }                                           //while(line_race)ʸ½ª¤ï¤ê

 
  if(FastTimer(1)>=1070){¡¡¡¡¡¡//¸òº¹ÅÀ¤òÅϤ¹
   before_cross_line();
   cross_line(0,60);
  }                                            //if(cross_line)ʸ½ª¤ï¤ê
  PlaySound(SOUND_DOWN);¡¡¡¡¡¡¡¡//À¼¤ò½Ð¤¹
  ClearTimer(0); ¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¥¿¥¤¥Þ¡¼¤ò¥¼¥í¤Ë¤Ê¤ë
  nCross++;

 
 }                                             //nCross3½ª¤ï¤ê




 
 
 
 
 else if(nCross==4){

 
  while(FastTimer(0)<1650){ ¡¡//½ÐȯÅÀ¤ËÅþÃå
    line_race();
    akikan_2();
  }                                           //while(line_race)ʸ½ª¤ï¤ê

 
  if(FastTimer(0)>=1650){¡¡¡¡¡¡
   before_cross_line();
  }                                             //if¡Ê¥´¡¼¥ëÁ°¡Ëʸ½ª¤ï¤ê
  PlaySound(SOUND_UP);
  nCross++;

 
 }                                            //nCross4½ª¤ï¤ê





 
 
 
 
 
  else{
   GOOL;
   nCross++;
  }                                                        //¥´¡¼¥ë       
      




     
 
 
 
 
 }


 
 
 }


¥È¥Ã¥×   ¿·µ¬ °ìÍ÷ ¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS