º£²ó¤Î²ÝÂê¤Ï²¼¤Î²èÁü¤Î¹õÀþ¤Î¾å¤òÁö¤ë¤³¤È¤Ç¤·¤¿
»ä¤Ï²èÁü¤ÎÀÖÀþ¤ÇÅɤé¤ì¤Æ¤¤¤ëÉôʬ¤òÁö¤ê¤Þ¤·¤¿¡£
¸ÀÍÕ¤ÇÀâÌÀ¤¹¤ë¤È
CÃÏÅÀ¤«¤éAÃÏÅÀ¤Ø
CÃÏÅÀ ¢ª Sº¸ÀÞ ¢ª Pº¸ÀÞ ¢ª Qľ¿Ê ¢ª Qľ¿Ê ¢ª R±¦ÀÞ ¢ª Pº¸ÀÞ ¢ª AÃÏÅÀ
¤Þ¤¿¸òº¹ÅÀ¤Ç¤Ï°ìÉÃÀŻߤ·¡¢²»¤òÌĤ餹¤Î¤¬¥ë¡¼¥ë¤Ç¤·¤¿¡£
»ä¤Î¥ë¡¼¥È¤Ç¤Ï¸òº¹ÅÀ¤¬6¤Ä¤¢¤ê¤Þ¤·¤¿¡£
º£²ó¤Î¥í¥Ü¥Ã¥È¤Ï¡¢Á°²ó¤Î»÷´é³¨¥í¥Ü¥Ã¥È¤ò¸µ¤ËºîÀ®¤ò¤·¤Þ¤·¤¿¡£
ÀִݤǰϤó¤Ç¤¢¤ë¤È¤³¤í¤Ë¸µ¤Ï¥Ú¥ó¤ò¾å¤²²¼¤²¤¹¤ëµ¡³£¤¬¤¢¤Ã¤¿¤Î¤Ç¤¹¤¬¡¢¤½¤³¤Ë¸÷¥»¥ó¥µ¡¼¤òÃÖ¤¤Þ¤·¤¿¡£
Á°¤«¤é¸«¤ë¤È¤³¤ó¤Ê´¶¤¸¤Ë¤Ê¤ê¤Þ¤¹¡£
¤³¤Îµ¡³£¤Î¹©Éפ·¤¿¤È¤³¤í¤Ï¡¢»õ¼Ö¤ò¤«¤Þ¤»¥¹¥Ô¡¼¥É¤òÍî¤È¤·¤¿¤È¤³¤í¤Ç¤¹¡£
¤½¤ì¤Ë¤è¤ê¡¢¸òº¹ÅÀ¤Ê¤É¤Ç¤Ï¥¹¥Ô¡¼¥É¤¬½Ð¤¹¤®¤Æ¡¢¸òº¹ÅÀ¤À¤Èǧ¼±¤»¤º¤Ë¶Ê¤¬¤Ã¤Æ¤·¤Þ¤¦¤³¤È¤¬¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£
¸÷¥»¥ó¥µ¡¼¤Ï¿§¤ÎÇ»¤µ¤ò¿ôÃͲ½¤·»ä¤¿¤Á¤Ë¶µ¤¨¤Æ¤¯¤ì¤ë¤â¤Î¤Ç¤¹¡£
º£²ó¤Ç¤Ï¡¢¿ô»ú¤¬Â礤¤¤Û¤ÉÇò¤¯¡¢¿ô»ú¤¬¾®¤µ¤¤¤Û¤É¹õ¤¯¤Ê¤ê¤Þ¤¹¡£
º£²ó¤Î¥×¥í¥°¥é¥à¤Ï¿¤¯¤ÎÄêµÁ¤È¥µ¥Ö¥ë¡¼¥Á¥ó¤ò¶î»È¤·¤Æ¤¤¤«¤Ë¥á¥¤¥ó¤Î¥¿¥¹¥¯¤ò¸«¤ä¤¹¤¯¤¹¤ë¤«¤ò¤¬¤ó¤Ð¤ê¤Þ¤·¤¿¡£
º£²ó»ä¤Ï¡¢¹õ¤ÈÇò¤ÎÃæ´Ö¤ÎÃͤòÀßÄꤷ¡¢¥í¥Ü¤Ï¤½¤ÎÃͤè¤ê¤âÂ礤¤¤«¾®¤µ¤¤¤«¤¹¤ë¤ÈÃæ´Ö¤Î¾ì½ê¤ËÌá¤ë¤è¤¦¤Ë¥×¥í¥°¥é¥à¤·¤Þ¤·¤¿¡£
¡¦ÄêµÁ¤·¤¿¥×¥í¥°¥é¥à
#define THRESHOLD 45 //¤³¤ÎÃͤÏÃæ´Ö¤Î¿§¤Ç¤¹ #define BRACK 37 //¹õ¤Ç¤¹ #define DARK 36 //¤µ¤é¤Ë°Å¤¤¹õ¤Ç¤¹ #define WHITE 47 //Çò¤Ç¤¹ #define left Off(OUT_A); OnFwd(OUT_C); //º¸¤Ë¶Ê¤¬¤ê¤Þ¤¹ #define right OnFwd(OUT_A); Off(OUT_C); //±¦¤Ø¶Ê¤¬¤ê¤Þ¤¹ #define go_long OnFwd(OUT_AC);Wait(800);Off(OUT_AC); //Á°¤Ë¿Ê¤ß¤Þ¤¹¡ÊŤ¤»þ´Ö¡Ë #define go OnFwd(OUT_AC);Wait(200);Off(OUT_AC); //Á°¤Ë¿Ê¤ß¤Þ¤¹¡Êû¤¤»þ´Ö¡Ë #define right_senkai OnFwd(OUT_C); OnRev(OUT_A); //±¦¤Ø¤ÎÀû²ó¤Ç¤¹ #define left_senkai OnFwd(OUT_A);OnRev(OUT_C); //º¸¤Ø¤ÎÀû²ó¤Ç¤¹ #define STEP 1 //0.01Éäδֳ֤ǥí¥Ü¤¬Ãͤò¬Äꤷ¤Æ¥¿¥¹¥¯¤ò¹Ô¤¤¤Þ¤¹ #define short_break Off(OUT_AC);Wait(100); //¸òº¹ÅÀ¤Ç»ß¤Þ¤ë¤È¤¤Î¤Ç¤¹
¡¦¥µ¥Ö¥ë¡¼¥Á¥ó
¡¦¥é¥¤¥ó¤Î±¦Â¦¤ò¥È¥ì¡¼¥¹¤ò¤¹¤ë¤¿¤á¤Î¥µ¥Ö¥ë¡¼¥Á¥ó
sub line_followR() { int zk=0;¡¡¡¡¡¡¡¡¡¡¡¡//¸òº¹ÅÀ¤ò³Îǧ¤·¤¿¤È¤¤Ë¿ô¤¬Áý¤¨¤ë¥«¥¦¥ó¥¿¡¼ SetSensor(SENSOR_3, SENSOR_LIGHT); ClearTimer(0); while(zk==0) {¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¥«¥¦¥ó¥¿¡¼¤¬0¤Î»þ¤³¤ÎÃæ¿È¤ò·«¤êÊÖ¤·¤Þ¤¹ while(FastTimer(0)>100);¡¡¡¡¡¡//¥¿¥¤¥Þ¡¼¤Ç1Éðʾ崶ÃΤ¹¤ë¤È²¼¤Îifʸ¤ò¹Ô¤¦¤Ï¤º¤À¤Ã¤¿ if (SENSOR_3 < DARK){¡¡¡¡¡¡//¹õ¤ò1Éðʾ崶ÃΤ¹¤ë¤È¸òº¹ÅÀ¤È¸«¤Ê¤¹ short_break; PlaySound(SOUND_DOUBLE_BEEP); ¡¡¡¡//1ÉÃÄä»ß¤·²»¤òÌĤ餹 zk=1; ¡¡//¥«¥¦¥ó¥¿¡¼¤¬1¤Î»þ¤³¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤ò½ª¤ï¤ê¼¡¤ÎÆ°ºî¤Ø°Ü¤ê¤Þ¤¹ }else if (SENSOR_3<BRACK){ right_senkai;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¥»¥ó¥µ¡¼¤¬37°Ê²¼¤ò´¶ÃΤ·¤¿¤È¤±¦Àû²ó ClearTimer(0);¡¡¡¡¡¡¡¡¡¡¡¡¡¡//Ëè²ó¥¿¥¤¥Þ¡¼¤ò¥ê¥»¥Ã¥È¤¹¤ë¤¿¤áɬÍ× }else if (SENSOR_3 < THRESHOLD){ left;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡// ¥»¥ó¥µ¡¼¤¬45°Ê²¼¤ò´¶ÃΤ·¤¿¤È¤º¸¤Ø ClearTimer(0); }else if(SENSOR_3> THRESHOLD) { right;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¥»¥ó¥µ¡¼¤¬45°Ê¾å¤ò´¶ÃΤ·¤¿¤È¤±¦¤Ø ClearTimer(0); } Wait(STEP); } }
ºÇ½é¤Ë¥«¥¦¥ó¥¿¡¼¡Ê£ú£ë¡Ë¤òÀßÃÖ¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¤¿¤á¼¡¤ÎÆ°ºî¤Ë°Ü¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£
¤¿¤À¥µ¥Ö¥ë¡¼¥Á¥ó¤ò¤Ä¤Ê¤²¤¿¤À¤±¤Ç¤Ï¼¡¤ÎÆ°ºî¤Ë¿Ê¤Þ¤Ê¤¤¤È¤¤¤¦¤³¤È¤¬¤ï¤«¤Ã¤¿¡£
¤·¤«¤â¤³¤Î¥×¥í¥°¥é¥à¤Ï¥ß¥¹¤¬¤¢¤ê¡¢¥¿¥¤¥Þ¡¼¤¬ºîÆ°¤·¤Æ¤¤¤Þ¤»¤ó¤Ç¤·¤¿¡£
¡¡
¡¦¥é¥¤¥ó¤Îº¸Â¦¤ò¥È¥ì¡¼¥¹¤¹¤ë¥µ¥Ö¥ë¡¼¥Á¥ó
sub line_followL() { int zk=0; SetSensor(SENSOR_3, SENSOR_LIGHT); ClearTimer(0); while(zk==0) { while(FastTimer(0)>100); if (SENSOR_3 < DARK){ short_break; PlaySound(SOUND_DOUBLE_BEEP); zk=1; }else if (SENSOR_3>WHITE){ right_senkai; ClearTimer(0); }else if (SENSOR_3 < THRESHOLD){ right; ClearTimer(0); }else if(SENSOR_3> THRESHOLD) { left; ClearTimer(0); } Wait(STEP); } }
1¤Ä¤á¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤òµÕ¤Ë¤·¤¿¤À¤±¤Ç¤¹¡£
¤³¤³¤Ç¤ÏÃæ´Ö¤ÎÃͤè¤êÂ礤¤¤Èº¸¤Ø¡¢¾®¤µ¤¤¤È±¦¤Ø¿Ê¤Þ¤»¤Æ¤¤¤Þ¤¹¡£
±¦Â¦¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤ÈƱÍÍ¥¿¥¤¥Þ¡¼¤¬ºîÆ°¤·¤Æ¤¤¤Þ¤»¤ó¡£
¡¦¸òº¹ÅÀ¤Çº¸ÀÞ¤¹¤ë¥µ¥Ö¥ë¡¼¥Á¥ó
sub cross_left() { go; OnFwd(OUT_A); OnRev(OUT_C); Wait(280); Off(OUT_AC); }
¡¦¸òº¹ÅÀ¤Ç±¦ÀÞ¤¹¤ë¥µ¥Ö¥ë¡¼¥Á¥ó
sub cross_right() { go; OnFwd(OUT_C); OnRev(OUT_A); Wait(250); Off(OUT_AC); }
¡¦¼Ð¤á¤ËÆ°¤¯¥µ¥Ö¥ë¡¼¥Á¥ó
sub cross_nanameL() { OnFwd(OUT_A); Off(OUT_C); Wait(230); Off(OUT_A); }
¡¦º¸¤ØÀû²ó¤¹¤ë¤À¤±¤Î¥µ¥Ö¥ë¡¼¥Á¥ó
sub cross_leftshort() { go; OnFwd(OUT_A); OnRev(OUT_C); Wait(220); Off(OUT_AC); }
¡¦ºÇ½ªÅª¤Ê¥¿¥¹¥¯
task main() { line_followR();¡¡¡¡//C¢ªS¸òº¹ÅÀ¤Ø¡ÊºÇ½é¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤Ï±¦¡Ë cross_left();¡¡¡¡¡¡//S¸òº¹ÅÀ¤òº¸ÀÞ¡¡ line_followR();¡¡¡¡//S¢ªP¸òº¹ÅÀ¤Ø cross_left();¡¡¡¡¡¡//P¸òº¹ÅÀ¤òº¸ÀÞ line_followR();¡¡¡¡//P¢ªQ¸òº¹ÅÀ¤Ø go;¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//ľ¿Ê line_followR();¡¡¡¡//Q¸òº¹ÅÀ¤«¤é±ß¤òÉÁ¤¤¤ÆQ¸òº¹ÅÀ¤Ø cross_nanameL();¡¡//¥é¥¤¥ó¥È¥ì¡¼¥¹¤ÎÀÚ¤êÂؤ¨¤Î¤¿¤á¼Ð¤á°ÜÆ° line_followL();¡¡ //Q¢ªR¸òº¹ÅÀ¤Ø¡Ê¥é¥¤¥ó¥È¥ì¡¼¥¹¤Ïº¸¤ØÊѲ½¡Ë cross_right();¡¡¡¡//R¸òº¹ÅÀ¤ò±¦ÀÞ line_followL();¡¡ //R¢ªP¸òº¹ÅÀ¤Ø cross_leftshort();¡¡//P¸òº¹ÅÀ¤òº¸ÀÞ line_followR();¡¡¡¡//P¢ªAÃÏÅÀ¤Ø¡Ê¥é¥¤¥ó¥È¥ì¡¼¥¹¤Ï±¦¤ØÊѲ½¡Ë go_long ;¡¡¡¡¡¡¡¡¡¡ //¥´¡¼¥ë¤ÎÃæ¤ËÆþ¤ë°Ù¤Îľ¿Ê PlaySound(SOUND_UP);¡¡¡¡//¾¡Íø¤Î¥µ¥¦¥ó¥É }
¤³¤Î¥×¥í¥°¥é¥à¤ÎÀâÌÀ¤À¤±¤Ç¤ÏÉÔÌÀ¤ÊÅÀ¤¬Â¿¤¯¤¢¤ë¤È»×¤¤¤Þ¤¹¤Î¤Ç¤½¤³¤òÀâÌÀ¤·¤Æ¤¤¤¤Þ¤¹¡£
¤Ê¤¼¥é¥¤¥ó¥È¥ì¡¼¥¹¤Îº¸±¦¤¬Â¸ºß¤¹¤ë¤«¤È¤¤¤¦¤È¡¢»ä¤ÏºÇ½é¤Ë¡¢¥é¥¤¥ó¤Î±¦Â¦¤À¤±¤ò¥í¥Ü¤ËÆ°¤«¤µ¤»¤Æ¤¤¤Þ¤·¤¿¡£¤·¤«¤·¤³¤Î¥×¥í¥°¥é¥à¤Ç¤Ï¸òº¹ÅÀQ¢ªR¤Ø¸þ¤«¤¦¤È¤¤ÎȾ·Â5¥»¥ó¥Á¤Î¥«¡¼¥Ö¤Ç1Éðʾå¹õ¤òǧ¼±¤·¤Æ¤·¤Þ¤¤¡¢¸òº¹ÅÀ¤È´ª°ã¤¤¤·¤Æ¤¤¤Þ¤·¤¿¡£¤½¤³¤Ç¸òº¹ÅÀQ¤Ç¥í¥Ü¤ò¼Ð¤á¤Ë¤¦¤´¤«¤»¡¢¥é¥¤¥ó¥È¥ì¡¼¥¹¤òº¸¤Ø¤È°Ü¹Ô¤µ¤»¤Þ¤·¤¿¡£¤³¤Î¤è¤¦¤Ë¡¢¾ï¤Ë±ß¤ÎÃæ¤Ç¤Ï¤Ê¤¯³°Â¦¤ò¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢¥«¡¼¥Ö¤Ë¤ª¤±¤ë´ª°ã¤¤¤ò¤Ê¤¯¤·¤Þ¤·¤¿¡£
¼¡¤Ë¤Ê¤¼¥¿¥¤¥Þ¡¼¤¬ºîÆ°¤·¤Æ¤¤¤Ê¤¤¤Î¤Ë¥´¡¼¥ë¤ò¤¹¤ë¤³¤È¤¬¤Ç¤¤¿¤Î¤«¤òÀâÌÀ¤·¤Þ¤¹¡£
¤¢¤Î¥×¥í¥°¥é¥à¤Ç¤Ï¥¿¥¤¥Þ¡¼¤¬ºîÆ°¤·¤Æ¤¤¤Ê¤¤¤¿¤á¥í¥Ü¥Ã¥È¤ÏDRAK(ÃÍ36¡Ë¤ò³Îǧ¤·¤¿¤È¤¤Ë¸òº¹ÅÀ¤À¤Èǧ¼±¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤Ç¤ÏÉáÄÌ¥´¡¼¥ë¤Ç¤¤Þ¤»¤ó¡£ÆäËȾ·Â5ѤΥ«¡¼¥Ö¤ò¸òº¹ÅÀ¤À¤È¸íǧ¤·¤Æ¤·¤Þ¤¦¤Ç¤·¤ç¤¦¡£¡Ê10ѤαߤÏÄ̤ì¤Þ¤·¤¿¡Ë¤·¤«¤·»ä¤Ï¾ï¤Ë¥«¡¼¥Ö¤Î³°Â¦¤òÄ̤ë¥×¥í¥°¥é¥à¤ò½ñ¤¤¤¿¤¿¤á±ß¤ÎÆ⦤ò¤È¤ª¤ë¤³¤È¤¬¤Ê¤¯¤·¤¿¤¿¤á±¿Îɤ¯¥´¡¼¥ë¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤·¤¿¡£¤³¤ÎÊýË¡¤òÍѤ¤¤ë¤¿¤á¤Ë¤ÏDARK¤ÎÃͤò¤·¤Ã¤«¤ê¹Í¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤¬º£²ó¤Ï¤¿¤Þ¤¿¤Þ·è¤á¤¿Ãͤ¬¾å¼ê¤¯¤Ï¤Þ¤Ã¤¿¤è¤¦¤Ç¤¹¡£
¥í¥Ü¥Ã¥È¤Î¤È¤³¤í¤Ç¤â½ñ¤¤¤¿¤è¤¦¤Ë¡¢Á°²ó¤Î»÷´é³¨¥í¥Ü¥Ã¥È¤Î¤ò¤½¤Î¤Þ¤ÞÍѤ¤¤¿¤¿¤á¡¢C¢ªA¤Þ¤Ç¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹¤Ç5ʬ9ÉäȤ¤¤¦»þ´Ö¤¬¤«¤«¤ê¡¢¥¹¥Ô¡¼¥É¤¬¤¢¤Þ¤ê½Ð¤Þ¤»¤ó¤Ç¤·¤¿¡£¤â¤Á¤í¤ó¤½¤ì¤Ë¤è¤ëÍøÅÀ¤â¤¢¤ê¤Þ¤¹¤¬¡¢¾¯¤·Íî¤È¤·¤¹¤®¤¿¤Î¤«¤â¤·¤ì¤Þ¤»¤ó¡£¥¹¥Ô¡¼¥É¤òµá¤á¤ë¤Ê¤é¥â¡¼¥¿¡¼¤Î²óž¤¬¤½¤Î¤Þ¤ÞÅÁ¤ï¤ë¤è¤¦¤Ë²þÎɤ¹¤ë¤Ù¤¤À¤Ã¤¿¤«¤â¤·¤ì¤Þ¤»¤ó¡£
¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ¤Ï¸òº¹ÅÀ¤ÇÀû²ó¤¹¤ë¤À¤±¤Ç¤Ï¡¢¥é¥¤¥ó¥È¥ì¡¼¥¹¤¹¤ë¾ì½ê¤¬µÕ¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¹¤Î¤Ç¾¯¤·Á°¿Ê¤µ¤»¤Æ¤«¤éÀû²ó¤·¤Ê¤±¤ì¤Ð¤¤¤±¤Ê¤«¤Ã¤¿¤ê¤È¡¢ÍÍ¡¹¤Ê»ä¤Î¥¤¥á¡¼¥¸¤È¤Ï°ã¤¦ÅÀ¤¬¤¢¤ê¤Þ¤·¤¿¡£