¡¦¤Ä¤Ã¤Á¡¼¡Ä¹©³Ø¥Î¿Í¡£Ç¾¥ß¥½(¥×¥í¥°¥é¥ß¥ó¥°)ôÅö¡£
¡¦¤æ¤¦¤¡Ä¶µ°é¥Î¿Í¡£¥Ü¥Ç¥£(¥í¥Ü¥Ã¥È¹½Â¤)ôÅö¡£
¡¦¥¸¥§¥·¡¼¡Ä²ÝÂꣲ¤òãÀ®¤¹¤ë¤¿¤á¤Ë¤Ä¤Ã¤Á¡¼¤È¤æ¤¦¤¤Ë¤¤é¤ì¤¿¥í¥Ü¥Ã¥È¡£
¡¡¡¡¡¡¡¡¡¡¡¡ÀÊ̤ϡê(ÃÂÀ¸»þ¤Ï¡é¤Ç̾¤Ï¥Ø¥é¥¯¥ì¥¹¤À¤Ã¤¿)¡£
¡¡¡¡¡¡¡¡¡¡¡¡7AR¤Î¥¦¥Ã¥Ç¥£¤Îµö²Ç¡£
³Æ¥Á¡¼¥à¤ÇºîÀ®¤·¤¿¥³¡¼¥¹¤ò3¼þ¤¹¤ë¥í¥Ü¥Ã¥È¤òÀ½ºî¤»¤è¡£ ¸òº¹ÅÀ¤Î¤¦¤Á¤Î°ì¤Ä¤Ë¤Ï500ml¤Î¶õ¤Î»æ¥Ñ¥Ã¥¯¤ò¤ª¤¡¢
¼¡¤Î¤è¤¦¤ÊÆ°ºî¤¹¤ë¥×¥í¥°¥é¥à¤òºîÀ®¤»¤è¡£
(¾¤Î¥á¥ó¥Ð¡¼¤È½Å¤Ê¤é¤Ê¤¤¤è¤¦¤Ë°ì¿Í°ì¤Ä¤Î¥×¥í¥°¥é¥à¤òºîÀ®¤¹¤ë)
1.»æ¥Ñ¥Ã¥¯¤ò±ª²ó¤¹¤ë¡¢¤¢¤ë¤¤¤Ï»æ¥Ñ¥Ã¥¯¤ò¤â¤È¤Î°ÌÃÖ¤ËÌᤷ¤¿¤Î¤Á¥³¡¼¥¹¤ËÌá¤Ã¤Æ¿Ê¤à (¸òº¹ÅÀ¤òÄ̲á¸å¡¢»æ¥Ñ¥Ã¥¯¤¬¸µ¤Î°ÌÃ֤ˤ¢¤ì¤Ð¤è¤¤)
2.»æ¥Ñ¥Ã¥¯¤ò¼¡¤Î¸òº¹ÅÀ¤Þ¤Ç±¿¤ó¤Ç¹Ô¤¡¢¤½¤Î¸òº¹ÅÀ¤Ë»æ¥Ñ¥Ã¥¯¤ò»Ä¤·¤Æ¤µ¤é¤Ë¹õ¤¤Àþ¤Ë±è¤Ã¤Æ¿Ê¤à
¤¿¤À¤·¡¢
•Â®¤µ¤ÈÀµ³Î¤µ¤òÄɵ᤹¤ë¤³¤È
•¥³¡¼¥¹¤ò3¼þ¤·¤¿¤é¼«Æ°Åª¤Ë»ß¤Þ¤ë¤³¤È
¤É¤ó¤ÊµÞ¤Ê¥«¡¼¥Ö¤Ë¤âÂбþ¤Ç¤¤ë¡á¾®²ó¤ê¤¬¤¤¯!!
¡Ä¤È¤¤¤¦¤³¤È¤Çº£²ó¤Ï¥í¥Ü¤Î¥Ù¡¼¥¹¤ò¥Þ¥Ë¥å¥¢¥ë¤È¤Ï°ã¤¦¹½Â¤¤Ë¤·¤Æ¤ß¤Þ¤·¤¿¡ú
Ä̾ï¤Î¥í¥Ü¤è¤ê²£Éý¤¬¶¹¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
¥»¥ó¥µ¡¼Æ±»Î¤ÎÉý¤¬¹¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¤È¹õ¤¤¥é¥¤¥ó¤ò´¶ÃΤ¹¤ë¤Ë»þ´Ö¤¬¤«¤«¤Ã¤Æ¤·¤Þ¤¤¥³¡¼¥¹¥¢¥¦¥È¤¹¤ë¥ê¥¹¥¯¤¬¾å¤¬¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
¤è¤ê¥³¡¼¥¹¾å¤òÀµ³Î¤ËÁö¤é¤»¤ë¤¿¤á¤Ë¥»¥ó¥µ¡¼¤ÎÉý¤ò¶ËÎ϶¹¤¯¤·¤Þ¤·¤¿¡£
¤¢¤È¡¢¥é¥¤¥ó¤òÀµ³Î¤Ë´¶ÃΤǤ¤ë¤è¤¦¤Ë¥»¥ó¥µ¡¼¤Î¹â¤µ¤òÃÏÌÌ¥®¥ê¥®¥ê¤Ë¤·¤Þ¤·¤¿¡£
½é´ü¤Î¤Þ¤Þ¤À¤È¥»¥ó¥µ¤¬È¿±þ¤·¤Ê¤¤¾ì¹ç¤¬¤¢¤Ã¤¿¤Î¤ÇÛì¤Î¸¶Íý¤òÍøÍѤ·¤Æ¥»¥ó¥µ¤¬È¿±þ¤·¤ä¤¹¤¤¤è¤¦¤Ë¤·¤Þ¤·¤¿¡ú
¤Ò¤È¤Ä¤Î¥â¡¼¥¿¡¼¤ò»È¤Ã¤Æ»æ¥Ñ¥Ã¥¯¤ò¶´¤à¹½Â¤¤òºÎÍѤ·¤Þ¤·¤¿¡£
¥®¥¢¤òÁȤßΩ¤Æ¤Æ¥Ï¥µ¥ß¤ò³«¤¤¤¿¤êÊĤ¸¤¿¤ê¤Ç¤¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿(¡¦¢Ï¡¦)
¤½¤·¤Æ½ÐÍè¾å¤¬¤Ã¤¿¤Î¤¬¤³¤Á¤é(*¡¢Ï¡®)¥Î♥
À½ºî¼Ô¤Ë¤è¤ë¤È¤³¤Î¥³¡¼¥¹¤Ï¥È²»µ¹æ¤ò¥â¥Á¡¼¥Õ¤Ë¤·¤¿¤½¤¦¤Ç¤¹¢ö
µÞ¤Ê¥«¡¼¥Ö¤¬Â¿¤¯¤Ê¤«¤Ê¤«¤ËÆñ´Ø¥³¡¼¥¹¤Ë»Å¾å¤¬¤ê¤Þ¤·¤¿(¡¡ö¡®;)
¤Ç¤â¡¢Æñ¤·¤¹¤®¤Æ¤³¤ó¤Ê¤Î¤Ç¤¤Ê¤¤¡ª¡¡ô¡Ê¡±¢¢¡±¡¨¡Ë
¤È¤¤¤¦¤³¤È¤Ç¡¢¾å¤Î¥·¥ó¥×¥ë¤Ê¤Î¤ËÊѤ¨¤Þ¤·¤¿
¢ª1.»æ¥Ñ¥Ã¥¯¤ò±ª²ó¤¹¤ë¡¢¤¢¤ë¤¤¤Ï»æ¥Ñ¥Ã¥¯¤ò¤â¤È¤Î°ÌÃÖ¤ËÌᤷ¤¿¤Î¤Á¥³¡¼¥¹¤ËÌá¤Ã¤Æ¿Ê¤à
int sem_2; //¥¿¥¹¥¯À©¸æ¤ÎÊÑ¿ô¡¡¾Ü¤·¤¯¤Ï²¼¤ÇÀâÌÀ int sem_3; //¥¿¥¹¥¯À©¸æ¤ÎÊÑ¿ô¡¡¾Ü¤·¤¯¤Ï²¼¤ÇÀâÌÀ int count; //¸òº¹ÅÀ¤ò¿ô¤¨¤ë int dodge; //¥¿¥¹¥¯À©¸æ¤ÎÊÑ¿ô¡¡¾Ü¤·¤¯¤Ï²¼¤ÇÀâÌÀ int timer; //¥¿¥¤¥Þ¡¼¡Ê£°¡Ë¤ÎÃͤòÊݸ¤¹¤ë int timer_2; //¥¿¥¤¥Þ¡¼¡Ê£±¡Ë¤ÎÃͤòÊݸ¤¹¤ë int time; //Èò¤±¤ë¤Þ¤Ç¤Ë¿Ê¤ó¤À»þ´Ö¤òÊݸ¤¹¤ë #define straight_time 130; #define dodge_to_back Off(OUT_A+OUT_C);OnRev(OUT_A+OUT_C);Wait(100);Off(OUT_A+OUT_C);Wait(200);OnFwd(OUT_A+OUT_C);Wait(80); //¢¬Åö¤¿¤Ã¤¿»þ¤Ë¸å¤í¤ØÈò¤±¤ë #define turn_left ClearTimer(0);OnFwd(OUT_A+OUT_C);Wait(time);sem_3=1;time=straight_time;OnFwd(OUT_A);OnRev(OUT_C);Wait(105);dodge -= 2;sem_3=0; //¢¬Á°¿Ê¤·¤ÆÊý¸þž´¹¤ò¤¹¤ë #define turn_right sem_3=1;time=straight_time;OnRev(OUT_A);OnFwd(OUT_C);Wait(105);dodge -= 2;sem_3=0; //Êý¸þž´¹¤ò¤¹¤ë task main() { count=0; //³ÆÊÑ¿ô¤Î½é´üÃͤòÀßÄê sem_2=0; sem_3=0; dodge=10; timer=0; timer_2=0; time=straight_time; SetSensor(SENSOR_1, SENSOR_LIGHT);//¥»¥ó¥µ¡¼£±¤È£³¤ò¸÷¥»¥ó¥µ¡¼¤Ë SetSensor(SENSOR_2, SENSOR_TOUCH);//¥»¥ó¥µ¡¼£²¤ò¥¿¥Ã¥Á¥»¥ó¥µ¡¼¤ËÀßÄê SetSensor(SENSOR_3, SENSOR_LIGHT);// start dodging; start dodging_2; Wait(100); //¥Ü¥¿¥ó¤ò²¡¤·¤Æ¤«¤é£±ÉÃÂÔ¤Ä while( sem_2 == 0 ) { while(true) { if (count >= 12) //¸òº¹ÅÀ¤ÎÄ̤俲ó¿ô¤ò¿ô¤¨¤ë { //12²óÄ̤俤é sem_2=4; //½ª¤ê¤Ê¤Î¤Ç»ß¤Þ¤ë StopAllTasks(); Off(OUT_A+OUT_C); } else { OnFwd(OUT_A+OUT_C); } if (SENSOR_2 == 1) //¥¿¥Ã¥Á¥»¥ó¥µ¡¼¤¬È¿±þ¤·¤¿¤é { //¸å¤í¤ËÈò¤±¤Æ»ß¤Þ¤ë dodge_to_back; ClearTimer(0); until ((SENSOR_2 == 1) ||(Timer(0) == 20)) //¤â¤¦°ìÅÙÁ°¤Ë½Ð¤Æ { OnFwd(OUT_A+OUT_C);Wait(20);Off(OUT_A+OUT_C) //¤Þ¤¿Åö¤¿¤Ã¤¿¤é } if (SENSOR_2 == 1) //µíÆý¥Ñ¥Ã¥¯¤À¤È»×¤ï¤ì¤ë¤Î¤Ç { Off(OUT_A+OUT_C); sem_3=1; //µíÆý¥Ñ¥Ã¥¯²óÈòÍѤËsem_2¤È sem_2=3; //sem_3¤ÎÃͤòÊѹ¹¤¹¤ë } } else //Åö¤¿¤é¤Ê¤«¤Ã¤¿¤éÁê¼ê¤ÎNQC¤À¤Ã¤¿¤È { //»×¤ï¤ì¤ë¤Î¤Ç¤½¤Î¤Þ¤Þ¥é¥¤¥ó¥È¥ì¡¼¥¹¤òºÆ³«¤¹¤ë } if ((SENSOR_1< 45 ) &&(SENSOR_3< 40))//¸÷¥»¥ó¥µ¡¼¤¬Î¾ÊýÈ¿±þ¤·¤¿¤é { //¸òº¹ÅÀ¤À¤È»×¤ï¤ì¤ë¤Î¤Ç Off(OUT_A+OUT_C); Wait(30); count++; //count¤ÎÃͤò£±Áý¤ä¤·¤ÆÁ°¿Ê OnFwd(OUT_A+OUT_C); Wait(30); } else { if (SENSOR_1< 45) //º¸¤Î¸÷¥»¥ó¥µ¡¼¤¬È¿±þ¤·¤¿¤é { //¿ÊÏ©¤¬±¦¤Ë¥º¥ì¤Æ¤¤¤ë¤Î¤Ç OnRev(OUT_A); //º¸¤Ë½¤Àµ } if (SENSOR_3< 40) //±¦¤Î¸÷¥»¥ó¥µ¡¼¤¬È¿±þ¤·¤¿¤é { //¿ÊÏ©¤¬º¸¤Ë¥º¥ì¤Æ¤¤¤ë¤Î¤Ç OnRev(OUT_C); //±¦¤Ë½¤Àµ } } } } } //¤³¤³¤«¤é²¼¤ÏµíÆý¥Ñ¥Ã¥¯¤¬¤¢¤Ã¤¿»þ¤ÎÈò¤±¤ë¥×¥í¥°¥é¥à task dodging() { while(sem_2 == 3) { Off(OUT_A+OUT_C); if (dodge == 10) { OnRev(OUT_A+OUT_C); //¤Á¤ç¤Ã¤È²¼¤¬¤Ã¤Æ Wait(30); // ¢£---µíÆý¥Ñ¥Ã¥¯ sem_3=0; // ¢« turn_right; //Êý¸þž´¹¤·¤ÆÁ°¿Ê¡¡¡¡¡¡¡¡ ¢¬¡¡¡¡¡¡ } if (dodge == 8) { turn_left; //Êý¸þž´¹¤·¤Æ¡¡¡¡¡¡¡¡¢¬¢£ OnFwd(OUT_A+OUT_C); //Á°¿Ê¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¢¬¢« Wait(120); } if (dodge == 6) { // ¢¬¢ª turn_left; //Êý¸þž´¹¤·¤ÆÁ°¿Ê¡¡¡¡¡¡¡¡¢¬¢£ } if (dodge == 4) { ClearTimer(0); // ¢¬ turn_right; //Êý¸þž´¹¡¡¡¡¡¡¡¡¡¡¡¡¡¡¢£ dodge = 10; } sem_2=0; //Èò¤±½ª¤ï¤Ã¤¿¤Î¤Çsem_2¤ò£°¤Ë¤¹¤ë } }//µíÆý¥Ñ¥Ã¥¯¤òÈò¤±¤Æ¤¤¤ë¤È¤¤ËÁê¼ê¤ÈÅö¤¿¤Ã¤¿¤È¤¤Î¥×¥í¥°¥é¥à task dodging_2() { while(true) { while(sem_2 == 3) { while(sem_3 == 0) { if (SENSOR_2 == 1) { stop dodging; ClearTimer(1); timer=Timer(0); dodge_to_back; timer_2=Timer(1); time=straight_time-10-timer-timer_2;//Èò¤±¤¿»þ´Ö¤ò·×»»¤·¤ÆºÆÀßÄê¡¡¤Ê¤¼¤«0.1É交ì¤Æ¤·¤Þ¤¦¤Î¤Ç½¤Àµ¤·¤Þ¤¹ start dodging; } } } } }
¥×¥í¥°¥é¥àÃæ¤ÇÀâÌÀ¤·¤Ë¤¯¤«¤Ã¤¿¤È¤³¤í¤Ë¤Ä¤¤¤Æ sem_2,sem_3¤Ë¤Ä¤¤¤Æ ¤³¤ÎÆó¤Ä¤ÎÊÑ¿ô¤Ïº£¡¢¥í¥Ü¥Ã¥È¤¬¤É¤Î¤è¤¦¤Ê¾õÂ֤Ǥ¢¤ë¤«¤òǧ¼±¤¹¤ë¤¿¤á¤Ë»È¤¤¤Þ¤·¤¿ sem_2¤¬£°¤Î»þ¢ªÄ̾ï»þ¡Ê¥é¥¤¥ó¤Î¾å¤òÁö¤Ã¤Æ¤¤¤ë¤È¤¡Ë sem_2¤¬£³¤Î»þ¢ªµíÆý¥Ñ¥Ã¥¯¤òÈò¤±¤Æ¤¤¤ë¤È¤ sem_2¤¬£´¤Î»þ¢ªÁ´Éô¤Î¥×¥í¥°¥é¥à¤¬»ß¤Þ¤ë¡Ê½ªÎ»»þ¡Ë sem_3¤¬£°¤Î»þ¢ªÄ̾ï»þ¡Ê¥é¥¤¥ó¤Î¾å¤òÁö¤Ã¤Æ¤¤¤ë¤È¤¡Ë sem_3¤¬£±¤Î»þ¢ªµíÆý¥Ñ¥Ã¥¯¤òÈò¤±¤Æ¤¤¤ëºÇÃæ¤ÎÊý¸þž´¹¤·¤Æ¤¤¤ë¤È¤
ÊÑ¿ô¤ÎÁȤ߹þ¤ßÊý while¤Î¥«¥Ã¥³¤ÎÃæ¤ËÊÑ¿ô¤òÆþ¤ì¤Ò¤È¤«¤¿¤Þ¤ê¤Î¥×¥í¥°¥é¥à¤ò°Ï¤¤¤Þ¤¹¡£ ¤½¤ÎÃͤˤè¤Ã¤ÆÎ㤨¤Ð¡Ö¥é¥¤¥ó¤Î¾å¤òÁö¤ë¥×¥í¥°¥é¥à¡×¤À¤±¤ò»ß¤á¤¿¤ê¤·¤Þ¤¹¡£ Ãͤϥ»¥ó¥µ¡¼¤¬È¿±þ¤·¤¿Ä¾¸å¤ËÊѤ¨¡¢ ¤Ò¤È¤«¤¿¤Þ¤ê¤Î¥×¥í¥°¥é¥à¤ÎºÇ¸å¤Ë¸µ¤ËÌᤷ¤Þ¤¹¡£
¤³¤Î¤ä¤êÊý¤Î¥á¥ê¥Ã¥È ¤³¤ì¤ò»È¤¦¤ÈÎ㤨¤Ð¡Ö¥é¥¤¥ó¤Î¾å¤òÁö¤ê¤Ê¤¬¤é¡¢¥¿¥Ã¥Á¥»¥ó¥µ¡¼¤À¤±¤Ï»ß¤á¤ë¡×¤È¤¤¤Ã¤¿¤³¤È¤¬´Êñ¤Ë¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ ¤Þ¤¿¡¢while¤Î¥«¥Ã¥³¤ÎÃæ¤Ë¡¡¡Á°Ê¾å¡¡¤Ê¤É¤Î¾ò·ï¤òÆþ¤ì¤ë¤ÈSetPriority¤ò»È¤ï¤º¤Ë¥×¥í¥°¥é¥à¤ÎÍ¥Àè½ç°Ì¤¬·è¤á¤é¤ì¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ ¤µ¤é¤ËSetPriority¤Î¤è¤¦¤ËÍ¥Àè½ç°Ì¤ò·è¤á¤ë¤À¤±¤Ç¤Ê¤¯¥í¥Ü¥Ã¥È¤Î¾õÂ֤˹ç¤ï¤»¤Æ¡¢°ìÉô¤Î¥¿¥¹¥¯¤À¤±¤òÆ°¤«¤¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ Î㤨¤Ð¡¢µíÆý¥Ñ¥Ã¥¯¤òÈò¤±¤Æ¤¤¤ë¤È¤¤Ï¸÷¥»¥ó¥µ¡¼¤â¥¿¥Ã¥Á¥»¥ó¥µ¡¼¤â̵»ë¤·¤Æ µíÆý¥Ñ¥Ã¥¯¤òÈò¤±¤ë¥×¥í¥°¥é¥à¤À¤±¤òÆ°¤«¤¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ ¤³¤Î¤Û¤«¤Ë¡¢¥¿¥¹¥¯¤Ëʬ¤±¤Æ¤Ê¤¯¤Æ¤â»È¤¨¤ë¤È¤¤¤¦ÍøÅÀ¤â¤¢¤ê¤Þ¤¹¡£
»ÈÍÑÎã ¤³¤ì¤é¤ò»È¤¦¤È¡¢Î㤨¤Ð¡¢ÊÑ¿ô¡Êsem¡Ë¤ÎÃͤ¬£°¤«¤éÂ礤¤¤Û¤ÉÍ¥Àè½ç°Ì¤¬¹â¤¯¡¢ ÆÃÊ̤ʾò·ï¤Î¤È¤Â礤¤¿ô»ú¤ò»È¤¦ ¤È¤¤¤¦¤Õ¤¦¤Ë¤¹¤ë¤È¤³¤ó¤Ê¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ ¤¿¤À¤Ò¤¿¤¹¤éÁ°¿Ê¤¹¤ë¥×¥í¥°¥é¥à¢ªwhile(sem <= 0) ¸÷¥»¥ó¥µ¡¼¤¬È¿±þ¤·¤¿¤éÊý¸þ½¤Àµ¤¹¤ë¥×¥í¥°¥é¥à¢ªwhile(sem <= 1) ¥¿¥Ã¥Á¥»¥ó¥µ¡¼¤¬È¿±þ¤·¤¿¤é²¼¤¬¤ë¥×¥í¥°¥é¥à¢ªwhile(sem <= 2) °ì¼þ¤·½ª¤ï¤Ã¤Æ¤Æ»ß¤Þ¤ë¥×¥í¥°¥é¥à¢ªwhile(sem <= 3) µíÆý¥Ñ¥Ã¥¯¤òÈò¤±¤ë¥×¥í¥°¥é¥à¢ªwhile(sem == 10)
¤³¤Î¤è¤¦¤Ë¤¹¤ë¤ÈÉáÃʤÏÁ°¿Ê¤·¤Æ¤¤¤Æ¡¢¸÷¥»¥ó¥µ¡¼¤¬È¿±þ¤·¤¿¤éÊý¸þ½¤Àµ¡¢ ¤â¤·Êý¸þ½¤ÀµÃæ¤Ë²¿¤«¤ËÅö¤¿¤Ã¤¿¤é²¼¤¬¤ê¡¢ µíÆý¥Ñ¥Ã¥¯¤À¤Ã¤¿¤éÈò¤±¤ë¥×¥í¥°¥é¥à¤À¤±¤òÆ°¤«¤¹¡£ ¤½¤·¤Æ¡¢°ì¼þ¤·¤¿¤é½ªÎ»¡¡¤È¤¤¤Ã¤¿¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ ¤Á¤Ê¤ß¤ËÊÑ¿ô¤Ësem¤ò»È¤Ã¤Æ¤¤¤ëÍýͳ¤ÏÆäˤ¢¤ê¤Þ¤»¤ó¡£ ¤Ä¤¤¤Ç¤Ë¾å¤ÎÎ㤬ºÇ½é¤Ë¤³¤Î¤ä¤êÊý¤ò»×¤¤¤Ä¤¤¤¿»þ¤ÎÍýÁۤηÁ¤Ç¤·¤¿¡£
¥Ç¥á¥ê¥Ã¥È ¤³¤ì¤ò¤ä¤ë¤È¥×¥í¥°¥é¥à¤¬¾¯¤·Ê£»¨¤Ë¤Ê¤ê¤Þ¤¹ ¡ÊÆÃ¤Ë¥×¥í¥°¥é¥à¤ÎºÇ¸å¤Î¤Û¤¦¤Ë¡¡}¢«¤³¤ì¤¬²¿¸ÄɬÍפʤΤ«¤ï¤«¤é¤Ê¤¯¤Ê¤ê¤Þ¤¹¡Ë ¤Þ¤¿¡¢ÊÑ¿ô¤¬Á´ÂΤˤޤ¿¤¬¤ë¤Î¤Ç¥¨¥é¡¼¤ä¥í¥Ü¥Ã¥È¤¬Í½ÁÛ³°¤ÎÆ°¤¤ò¤·¤¿¤È¤ ¸¶°ø¤¬¤ï¤«¤ê¤Ë¤¯¤¯¤Ê¤ê¤Þ¤¹¡£ (¤³¤Î¤¿¤áÊÑ¿ô¤¬ÊѤï¤Ã¤¿¤È¤¤Ë²»¤òÌĤ餹¤È¤ï¤«¤ê¤ä¤¹¤¯¤Ê¤ê¤Þ¤¹) Ê̤ˤ³¤Î¤ä¤êÊý¤ò¤·¤Ê¤¯¤Æ¤â¡¢start¡Ê¥¿¥¹¥¯Ì¾¡Ë¤ästop¡Ê¥¿¥¹¥¯Ì¾¡Ë¤ò»È¤¨¤ÐŤ¯¤Ê¤ë¤±¤É¡¢ ¤Ç¤¤Ê¤¤¤³¤È¤Ï̵¤¤¡Ê¤¿¤À¤·¥¿¥¹¥¯¤òʬ¤±¤¿¤È¤¸ÂÄê¡Ë
dodge¤Ë¤Ä¤¤¤Æ dodge¤ÏµíÆý¥Ñ¥Ã¥¯¤òÈò¤±¤Æ¤¤¤ë¤È¤¡¢¤É¤³¤Þ¤ÇÈò¤±¤¿¤«¤ò¼¨¤¹ÊÑ¿ô 10¢ªµíÆý¥Ñ¥Ã¥¯ÀµÌÌ 8¢ªµíÆý¥Ñ¥Ã¥¯¤Î²£¤ò°ÜÆ°Ãæ 6¢ªµíÆý¥Ñ¥Ã¥¯¤ÎÈ¿ÂЦ¤ò°ÜÆ°Ãæ 4¢ª¥é¥¤¥ó¤ò¸÷¥»¥ó¥µ¡¼¤Î´Ö¤ËÆþ¤ì¤ë
¥¿¥¹¥¯¤òÊ£¿ô¤Ë¤·¤¿Íýͳ¤Ë¤Ä¤¤¤Æ º£²ó¡¢¥×¥í¥°¥é¥à¤òÊ£¿ô¤Î¥¿¥¹¥¯¤Ëʬ¤±¡¢¤³¤Î¤è¤¦¤ÊÊÑ¿ô¤ò»È¤Ã¤¿¤Î¤Ï¡¢º£²ó¤Î¥×¥í¥°¥é¥à¤¬¤È¤Æ¤âŤ¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¤¿¤á¡¢ ¸«¤¿¤È¤¤ï¤«¤ê¤º¤é¤¯¡¢¤Þ¤¿¥¨¥é¡¼¤¬½Ð¤¿¤È¤¡¢¤É¤³¤¬´Ö°ã¤Ã¤Æ¤¤¤ë¤Î¤«¤â¤ï¤«¤ê¤º¤é¤«¤Ã¤¿¤«¤é¤Ç¤¹¡£ ¤½¤³¤Ç¡¢¥í¥Ü¥Ã¥È¤ÎÆ°¤¤´¤È¤Ë¥¿¥¹¥¯¤òʬ¤±¡¢¥×¥í¥°¥é¥à¤ò¤ï¤«¤ê¤ä¤¹¤¯¤Þ¤·¤¿¡£ ¤µ¤é¤Ë¡¢¥¨¥é¡¼¤¬²ò·è¤Ç¤¤Ê¤¤¤È¤¤Ë¤Ï¡¢¥¿¥¹¥¯¤´¤È¤Ë³Î¤«¤á¤ì¤ÐÎɤ¤¤Î¤Ç³Ú¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ ¤Þ¤¿¡¢µíÆý¥Ñ¥Ã¥¯¤òÈò¤±¤ë¤È¤¥¿¥¹¥¯°ì¤Ä¤Ç¤ä¤ëÊýË¡¤¬¤¢¤Þ¤ê¥Ô¥ó¤È¤³¤Ê¤«¤Ã¤¿¤Î¤Ç ¥¿¥¹¥¯¤òʬ¤±¤Þ¤·¤¿ ¼ÂºÝ¤Ë¡¢Æ±»þ¤Ë¥¿¥¹¥¯¤¬Æ°¤¯¤È¤³¤í¤â¡¢¤½¤ÎɬÍ×À¤â¤¢¤Þ¤ê¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£ ¤³¤³¤Ë½Ð¤¹Á°¤Î¥×¥í¥°¥é¥à¤Ç¤Ï¥¿¥¹¥¯¤Ï£µ¸Ä¤¢¤ê¡¢¤½¤Î¤È¤¤Ï¡¢Æ±»þ¤ËÆ°¤¯¤È¤³¤í¤â¡¢É¬Í×À¤â¤¢¤ê¤Þ¤·¤¿¡£ ¤¿¤À¡¢Â¿¤¹¤®¤ÆµÕ¤Ë¤¢¤ï¤»¤ë¤Î¤¬ÂçÊѤÀ¤Ã¤¿¤ê¡¢¤ï¤«¤ê¤º¤é¤«¤Ã¤¿¤Î¤Çº£²ó¤Î¤Ë¡¢²þÎɤ·¤Þ¤·¤¿¡£ ¤³¤Î¤¢¤¿¤ê¤¬º£²ó¤Î¥×¥í¥°¥é¥ß¥ó¥°¤ÎÈ¿¾ÊÅÀ¤Ë¤Ê¤ê¤Þ¤¹¡£
¢ª2.»æ¥Ñ¥Ã¥¯¤ò¼¡¤Î¸òº¹ÅÀ¤Þ¤Ç±¿¤ó¤Ç¹Ô¤¡¢¤½¤Î¸òº¹ÅÀ¤Ë»æ¥Ñ¥Ã¥¯¤ò»Ä¤·¤Æ¤µ¤é¤Ë¹õ¤¤Àþ¤Ë±è¤Ã¤Æ¿Ê¤à
int a; #define BORDER 45 //ïçÃͤò45¤ËÄêµÁ
int flag = 0;
task main () { a=0; SetSensor ( SENSOR_1, SENSOR_LIGHT ); SetSensor ( SENSOR_2, SENSOR_TOUCH ); SetSensor ( SENSOR_3, SENSOR_LIGHT ); //£±¤È£³¢ª¸÷¥»¥ó¥µ¡¢£²¢ª¥¿¥Ã¥Á¥»¥ó¥µ Wait ( 100 ); //µ¯Æ°¤·¤Æ¤«¤é£±ÉÃÂÔµ¡ while ( flag < 13 ){ //¸òº¹ÅÀ¤ò13²óÄ̤ë¤Þ¤Ç¤Î¥ë¡¼¥× if ( SENSOR_2 == 1 ){ if (a == 0){ //¥¿¥Ã¥Á¥»¥ó¥µ¤¬È¿±þ¤·¤¿¤é OnRev(OUT_A+OUT_C); Wait(50); //¤¤¤Ã¤¿¤ó¶ÛµÞ²óÈò¤·¤Æ Off(OUT_A+OUT_C); Wait(300); //£³ÉÃÂÔµ¡¤·¤Æ OnFwd(OUT_A+OUT_C); Wait(30); //¤â¤È¤Î¾ì½ê¤ËÌá¤ë ClearTimer(0); until ((SENSOR_2==1) || (Timer(0)>2 ))OnFwd(OUT_A+OUT_C);} if(SENSOR_2==1){a=1; //¥¿¥Ã¥Á¥»¥ó¥µ¤¬ºÆ¤ÓÈ¿±þ¤·¤¿¤é OnFwd(OUT_B); Wait(50); //¥Ï¥µ¥ßµ¯Æ°¡ù } else if(SENSOR_2==0){ if(SENSOR_1 > BORDER ){ if( SENSOR_3 > BORDER ){ OnFwd(OUT_A+OUT_C); } else{ OnFwd(OUT_A); Wait(5); OnRev(OUT_C); Wait(5); } } else{ if(SENSOR_3 > BORDER){ OnRev(OUT_A); Wait(5); OnFwd(OUT_C); Wait(5); } else{ Off(OUT_A+OUT_C); Wait(150); OnRev(OUT_B); Wait(50); Off(OUT_B); OnRev(OUT_A+OUT_C); Wait(100); Off(OUT_A+OUT_C); OnFwd(OUT_A); Wait(50); Off(OUT_A); OnFwd(OUT_C); Wait(150); Off(OUT_C); OnFwd(OUT_A); Wait(50); Off(OUT_A);a=0; } } } } else{ if ( SENSOR_1 > BORDER ){ //±¦¥»¥ó¥µ¤¬Çò¤Ç if ( SENSOR_3> BORDER ){ //º¸¥»¥ó¥µ¤âÇò¤Ê¤é(L1 R1) OnFwd(OUT_A+OUT_C); //ľ¿Ê¤¹¤ë } else { //º¸¥»¥ó¥µ¤¬¹õ¤Ê¤é(L0 R1) OnFwd(OUT_A); Wait(5); OnRev(OUT_C); Wait(5); //º¸¤Ë¶Ê¤¬¤ë } } else { //±¦¥»¥ó¥µ¤¬¹õ¤Ç¤Ç if ( SENSOR_3> BORDER ){ //º¸¥»¥ó¥µ¤¬Çò¤Ê¤é(L1 R0) OnRev (OUT_A); Wait(5); OnFwd(OUT_C); Wait(5); //±¦¤Ë¶Ê¤¬¤ë } else { //ξ¥»¥ó¥µ¤¬¹õ¤Ê¤é(L1 R1) Off(OUT_A+OUT_C); //¸òº¹ÅÀ¤È»×¤ï¤ì¤ë¤Î¤Ç»ß¤Þ¤Ã¤Æ Wait(50); //0.5ÉÃÂÔµ¡¤·¤Æ OnFwd(OUT_A+OUT_C); //ľ¿Ê¤·»Ï¤á¤Æ Wait(20); //0.2ÉÃľ¿Ê¤·¤Æ flag++; //¸òº¹ÅÀ¥«¥¦¥ó¥¿¤Ë£±Â¤¹ } } } } Off(OUT_A+OUT_C);
}
¡¦µÞ¤Ê¥«¡¼¥Ö¤¬¤Þ¤¬¤ì¤Ê¤¤¡£¢ª¡¡¾®²ó¤ê¤¬¤¤¯¤è¤¦¤ËËÜÂΤò°ì²ó¤ê¾®¤µ¤¯¤·¤¿¡£
¡¦»æ¥Ñ¥Ã¥¯¤ò°ÜÆ°¤µ¤»¤ë¤È¤¤Ë¤º¤ì¤ë¡£¢ª¥Ï¥µ¥ß¤Ç¶´¤ß¤³¤ó¤Ç¸ÇÄê¡£
¡¦Áê¼ê¤Î¥í¥Ü¤È»æ¥Ñ¥Ã¥¯¤ÎȽÊ̤¬¤Ç¤¤Ê¤¤¡£¢ª¤¤¤Ã¤¿¤ó¤µ¤¬¤ë¡£¢ª¥í¥Ü¤À¤Ã¤¿¤é¤¤¤Ê¤¯¤Ê¤Ã¤Æ¤ë¤«¤é¤½¤Î¤Þ¤ÞÁ°¿Ê/»æ¥Ñ¥Ã¥¯¤À¤Ã¤¿¤é¤Þ¤¿¥¿¥Ã¥Á¥»¥ó¥µ¤¬È¿±þ¤·¤Æ¡¢
¥Ï¥µ¥ß¤¬µ¯Æ°¡õ¥¿¥Ã¥Á¥»¥ó¥µoff¤Ç¼¡¤Î¸òº¹ÅÀ¤Þ¤ÇÁ°¿Ê¡ú
ºÇ½é¤Ï¥¿¥¹¥¯¤ò¸Þ¸Ä»È¤Ã¤Æ¤¤¤¿¤Î¤Ç¤¹¤¬¡¢¤¦¤Þ¤¯¤¤¤«¤Ê¤«¤Ã¤¿¤Î¤Ç»°¸Ä¤Ë¸º¤é¤·¤Þ¤·¤¿¡£
¥¿¥¹¥¯¤ÎÍ¥Àè½ç°Ì¤ÏSetPriority¤òÃΤé¤Ê¤«¤Ã¤¿¤Î¤ÇÊÑ¿ô¤òÍøÍѤ·¡¢À©¸æ¤·¤Æ¤ß¤Þ¤·¤¿¡£
¤½¤Î¤»¤¤¤Ç¤«¤Ê¤ê¥×¥í¥°¥é¥à¤¬¤ï¤«¤ê¤Ë¤¯¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡£
¤Þ¤¿¡¢µíÆý¥Ñ¥Ã¥¯¤òÈò¤±¤Æ¤¤¤ëºÇÃæ¤Ë¡¢Áê¼ê¤ËÅö¤¿¤Ã¤¿¤È¤¤Î¥×¥í¥°¥é¥à¤¬¤Ê¤«¤Ê¤«ÂçÊѤǤ·¤¿¡£
¼ÂºÝɬÍפʤΤ«²ø¤·¤¤¤Ç¤¹¤¬¡¢Æþ¤ì¤Æ¤ª¤¤Þ¤·¤¿¡£
¥é¥¤¥ó¥È¥ì¡¼¥¹¤Þ¤Ç¤Ï¤¦¤Þ¤¯¤¤¤Ã¤¿¤Î¤Ç¤¹¤¬¡¢»æ¥Ñ¥Ã¥¯¤ò±¿¤Ö¥×¥í¥°¥é¥à¤Ï¶ìÏ«¤·¤Þ¤·¤¿¡£
¥¿¥Ã¥Á¥»¥ó¥µ¤ÎºîÆ°¤¬¤Ê¤«¤Ê¤«¤ËÂçÊѤǤ·¤¿¡£ ²ÝÂꣲ¤ò¤ä¤ë¤¦¤¨¤Ç¡¢¤Ä¤Ã¤Á¡¼¤È¥ê¥Ê¤Ë¤Ï¤¤¤Ã¤Ñ¤¤ÌÂÏǤ«¤±¤Þ¤·¤¿(¦¨*¦¨)¥Û¥ó¥È¤Ë¤¹¤ó¤Þ¤»¤ó¡¢
¤¢¤ê¤¬¤Èm(_ _)m¡ú
¤³¤Î¥Ú¡¼¥¸¤Ë´Ø¤¹¤ë¸æ°Õ¸«•¸æ´¶Áۤʤɤ¢¤ê¤Þ¤·¤¿¤é¡¢¤ª½ñ¤¤¯¤À¤µ¤¤m(_ _)m ¤Þ¤¿¡¢¡ù¤ò¤È¤ë¤¿¤á¤Ë¤Ê¤Ë¤«¥¢¥É¥Ð¥¤¥¹¤¬¤¢¤ê¤Þ¤·¤¿¤é¡¢¤ª´ê¤¤¤·¤Þ¤¹