Ìܼ¡ #contents *¥í¥Ü¥Ã¥È¤ÎÀâÌÀ [#u91f4c0f] -Ǥ̳ +º£²óºî¤Ã¤¿¥í¥Ü¥Ã¥È¤Ï¼«ºî¤·¤¿¥³¡¼¥¹¤Ë±è¤Ã¤Æ°ì¼þ¤¹¤ë¥í¥Ü¥Ã¥È¤Ç¤¹¡£¸òº¹ÅÀ¤ò¤¤Á¤ó¤Èǧ¼±¤·¡¢Àµ¤·¤¯È½ÃǤ·¤ÆÄ̲á¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë¡£ ³Î¼Â¤Ë°ì¼þ¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë¡£¥¹¥¿¡¼¥ÈÃÏÅÀ¤«¤é½Ðȯ¤·¤Æ¸µ¤Ë¤â¤É¤ë¤è¤¦¤Ë¤¹¤ë¡£¶õ¤´Ì¤ò¸òº¹ÅÀ¤«¤é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() //¶³¦ÀþÉÕ¶á¤Î¹õÀþ¤òÁö¤ë¥×¥í¥°¥é¥à { 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++; } //¥´¡¼¥ë } }