¡¡º£²ó¤Î²ÝÂê¤Ï¡¢¸÷¥»¥ó¥µ¤ò»ÈÍѤ·¤Æ¿Þ¤Î¥³¡¼¥¹¤ò»ØÄê¤Î·ÐÏ©¤ÇÁö¤ë¤È¤¤¤¦ÆâÍƤǤ¢¤ë¡£
¡¡¾Ü¤·¤¤ÆâÍƤÏ2017a/Mission2¤ò»²¾È¤·¤Æ¤Û¤·¤¤¡£
¡¡¡Ö£ÅÃÏÅÀľ¿Ê¥³¡¼¥¹¡×¤È¡Ö£ÅÃÏÅÀ±¦ÀÞ¥³¡¼¥¹¡×¤ÎÆâ¡¢¡Ö£ÅÃÏÅÀ±¦ÀÞ¥³¡¼¥¹¡×¤òÁö¤ë¥í¥Ü¥Ã¥È¤òºîÀ®¤·¤¿¤¿¤á¡¢°Ê²¼¤Î½çÈÖ¤ÇÁö¹Ô¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
¡¡£Å¢ª£Ð¢ª£Ñ¢ª£Ò¢ª£Ô¢ª£Ô¢ª£È¢ª£Ç¢ª£Ó¢ª£Ð¢ª£Ñ¢ª£Æ¢ª£Å¢ª£Á
¡¡¥í¥Ü¥Ã¥ÈËÜÂΤϤǤ¤ë¤À¤±¥·¥ó¥×¥ë¤«¤Ä¥³¥ó¥Ñ¥¯¥È¤Ê·Á¾õ¤òÌܻؤ·¤ÆºîÀ®¤·¤¿¡£
¡¡¥í¥Ü¥Ã¥ÈËÜÂΤòÁȤßΩ¤Æ¤ë¤Î¤ËÅö¤¿¤Ã¤Æ¡¢¤Ç¤¤ë¤À¤±¾®²ó¤ê¤¬¤¤¯¤è¤¦¤Ê¥í¥Ü¥Ã¥È¤Ë¤·¤è¤¦¤È¹Í¤¨¤¿¡£¤½¤³¤Ç¡¢¥¿¥¤¥ä¤Î´Ö³Ö¤ò¶ËÎ϶¹¤¯¤·¡¢¥â¡¼¥¿¡¼£²¤Ä¤È¥®¥¢¤ÎÉý¤À¤±¤Ë¤¹¤ë¤³¤È¤ÇÀû²óȾ·Â¤ò¤Ç¤¤ë¤À¤±¾®¤µ¤¯¤·¤Æ¤¤¤ë¡£
¡¡¤Þ¤¿¡¢¤Ï¤¸¤á¤Ï¥»¥ó¥µ¡¼¤È¥¿¥¤¥ä¤È¤Îµ÷Î¥¤ò¾¯¤·±ó¤¯ÇÛÃÖ¤·¤Æ¤¤¤¿¤Î¤À¤¬¡¢É¬¤º£ÈŽ°£ÇÃÏÅÀ´Ö¤Î£Ó»ú¥«¡¼¥Ö¤ä£ÅŽ°£ÆÃÏÅÀ´Ö¤Î¥«¡¼¥Ö¤ÇÀû²ó¤·¤¤ì¤º¤Ë¥³¡¼¥¹¥¢¥¦¥È¤·¤Æ¤·¤Þ¤¤¡¢Àµ¤·¤¯¥é¥¤¥ó¤ò¥È¥ì¡¼¥¹¤·¤Æ¤¯¤ì¤Ê¤«¤Ã¤¿¡£¤½¤³¤Ç¡¢¥»¥ó¥µ¤È¥¿¥¤¥ä¤Îµ÷Î¥¤ò¤Ç¤¤ë¤À¤±Ã»¤¯¤·¡¢¤è¤êÀµ³Î¤Ë¹õÀþ¤Ë±è¤Ã¤ÆÁö¹Ô¤Ç¤¤ë¤è¤¦¤Ë¤â¤·¤Æ¤¤¤ë¡£
/*---------- Äê¿ô¡¦¥Þ¥¯¥í ÄêµÁ -----------*/ /*¡¡ïçÃÍÀßÄê¡¡*/ #define LINE_BLACK 38 //¹õ #define THRESHOLD_LOW 40 //ïçÃͺǾ®¡Ê¹õ¤è¤ê¡Ë #define THRESHOLD_HIGH 47 //ïçÃͺÇÂç¡ÊÇò¤è¤ê¡Ë #define LINE_WHITE 49 //Çò /*¡¡Æ°ºî¡¡*/ #define FOWORD OnFwd(OUT_AC); //ľ¿Ê #define BACK OnRev(OUT_AC); //¸åÂà #define STOP Off(OUT_AC); //Ää»ß #define TURN_LEFT OnFwd(OUT_C); OnRev(OUT_A); //º¸Àû²ó #define TURN_RIGHT OnFwd(OUT_A); OnRev(OUT_C); //±¦Àû²ó #define CURVE_LEFT OnFwd(OUT_C); Off(OUT_A); //º¸ÀÞ #define CURVE_RIGHT OnFwd(OUT_A); Off(OUT_C); //±¦ÀÞ /*¡¡¸òº¹ÅÀȽÄêÍѤλþ´Ö¡¡*/ #define TIME_MAX_N 26 //T¢ªG´Ö°Ê³°¤Ç¤Î¸òº¹ÅÀȽÄê¤Þ¤Ç¤Î»þ´Ö #define TIME_MAX_TG 33 //T¢ªG´Ö¤Ç¤Î¸òº¹ÅÀȽÄê¤Þ¤Ç¤Î»þ´Ö /*----------- ¥°¥í¡¼¥Ð¥ëÊÑ¿ô ÄêµÁ ----------*/ int timer = 0; //¹õÈ¿±þ»þ´Ö int time_max = 0; //¸òº¹ÅÀȽÄêÍÑ
¡¡¡ØÆ°ºî¡Ù¤Î¥Þ¥¯¥í¤Ë¤Ä¤¤¤Æ¤Ï¥×¥í¥°¥é¥à¤Î¥³¥á¥ó¥Èʸ¤ÇÀâÌÀ¤Ç¤¤Æ¤¤¤ë¤È»×¤¦¤Î¤Ç¾Êά¤¹¤ë¡£
¡¡¤Þ¤¿¡¢"TIME_MAX_N"¤È"TIME_MAX_TG"¡¢"timer"¡¢"timer_max"¤Ï¸òº¹ÅÀ¤òȽÃǤ¹¤ë¤È¤¤Ë»ÈÍѤ·¤Æ¤¤¤ë¡£¤³¤ì¤é¤Î¾Ü¤·¤¤ÀâÌÀ¤Ï¥µ¥Ö¥ë¡¼¥Á¥ó¤È¥á¥¤¥ó¥¿¥¹¥¯¤Î¤È¤³¤í¤Ç¤·¤Æ¤¤¤ë¤Î¤Ç¡¢¤³¤³¤Ç¤Ï¾Êά¤¹¤ë¡£
¡¡¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤¹¤ëºÝ¤Ë¡¢¹õÀþ¤ÈÇòÀþ¤¬¶³¦¤Ç¤¤Ã¤Á¤êʬ¤«¤ì¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤Ê¤¯¡¢¤É¤Á¤é¤Ç¤â¤Ê¤¤Ãæ´Ö¤ÎÈϰϤ¬Â¸ºß¤¹¤ë¡£¤½¤³¤Ç¡¢¤É¤³¤«¤é¤¬¹õ¤Ç¤É¤³¤«¤é¤¬Çò¤Ê¤Î¤«¡¢¤Þ¤¿¤½¤Î¶ÌܤÎÈϰϤÎÃæ¤ÇÃæ±û¤Ï¤É¤³¤Ë¤Ê¤ë¤Î¤«¤ò"LINE_BLACK"¡¢"THRESHOLD_LOW"¡¢"THRESHOLD_HIGH"¡¢"LINE_WHITE"¤È¤¤¤¦£´¤Ä¤òÄêµÁ¤·¡¢¹õ¤«¤éÇò¤Î´Ö¤ò£µ¤Ä¤Ëʬ¤±¤ë¤³¤È¤ÇȽÊ̤·¤Æ¤¤¤ë¡£
¡¡¥µ¥Ö¥ë¡¼¥Á¥ó¤Ï¡¢¥é¥¤¥ó¤ò¥È¥ì¡¼¥¹¤¹¤ë¤¿¤á¤Î¤â¤Î¤ò"Follow_Line_R()"¤È"Follow_Line_L()"¤È¤·¤Æº¸±¦¤ÇÀßÄꤷ¤Æ¤¤¤ë¡£¤Þ¤¿¡¢¸òº¹ÅÀ¤ÎȽÃǤ⤳¤³¤Ç¹Ô¤Ã¤Æ¤¤¤ë¡£
/*---------- ¥é¥¤¥ó¤Î±¦Â¦¤òÁö¹Ô ----------*/ sub Follow_Line_R() { while(timer < time_max){ if(SENSOR_2 > LINE_WHITE){ TURN_LEFT; ClearTimer(0); } else if(SENSOR_2 > THRESHOLD_HIGH){ CURVE_LEFT; ClearTimer(0); } else if(SENSOR_2 > THRESHOLD_LOW){ FOWORD; ClearTimer(0); } else if(SENSOR_2 > LINE_BLACK){ CURVE_RIGHT; ClearTimer(0); } else{ TURN_RIGHT; } timer = FastTimer(0); } timer = 0; } /*---------- ¥é¥¤¥óº¸Â¦¤òÁö¹Ô ----------*/ sub Follow_Line_L() { while(timer < time_max){ if(SENSOR_2 > LINE_WHITE){ TURN_RIGHT; ClearTimer(0); } else if(SENSOR_2 > THRESHOLD_HIGH){ CURVE_RIGHT; ClearTimer(0); } else if(SENSOR_2 > THRESHOLD_LOW){ FOWORD; ClearTimer(0); } else if(SENSOR_2 > LINE_BLACK){ CURVE_LEFT; ClearTimer(0); } else{ TURN_LEFT; } timer = FastTimer(0); } timer = 0; }
¡¡Äê¿ô¡¦¥Þ¥¯¥í¤Î¤È¤³¤í¤ÇÀâÌÀ¤·¤¿¤è¤¦¤Ë¡¢ïçÃͤˤè¤Ã¤Æ¹õ¤ÈÇò¤È¤½¤Î¶Ìܤò£µ¤Ä¤Ëʬ¤±¤Æ¤¤¤ë¤¿¤á¡¢¤½¤ì¤¾¤ì¤Î¾ì½ê¤Ë±þ¤¸¤ÆÆ°ºî¤òÀßÄꤷ¤Æ¤¤¤ë¡£¸÷¥»¥ó¥µ¤ÎÃͤ¬"THRESHOLD_LOW"¤«¤é"THREHOLD_HIGH"¤Î´Ö¤Ï¡¢¶ÌܤÎÃæ±û¤Ë¤Ê¤ë¤¿¤áº¸±¦¤É¤Á¤é¤Î¥µ¥Ö¥ë¡¼¥Á¥ó¤Ç¤â¡Öľ¿Ê¡×¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£"THRESHOLD_LOW"¤è¤ê¾®¤µ¤¤¾ì¹ç¤È"THRESHOLD_HIGH"¤è¤êÂ礤¤¾ì¹ç¤Ïº¸±¦¤ÇÆ°ºî¤¬µÕ¤Ë¤Ê¤Ã¤Æ¤Ï¤¤¤ë¤¬¡¢"LINE_BLACK"¤ä"LINE_WHITE"¤òĶ¤¨¤ë¤Þ¤Ç¤Ï¡Ö¥¿¥¤¥ä¤òÊÒÊýÄä»ß¤·¤Æ¤Î¥¿¡¼¥ó¡×¡¢Ä¶¤¨¤¿¤é¡ÖÊÒÊý¤ÏÀµÅ¾¡¢È¿ÂЦ¤ÏµÕž¤·¤Æ¤ÎÀû²ó¡×¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤Æ¤¤¤ë¡£
¡¡¸òº¹ÅÀ¤Ëº¹¤·³Ý¤«¤ë¤È¤¡¢¸÷¥»¥ó¥µ¤ÏŤ¤´Ö¹õ¤òǧ¼±¤·¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤ë¡£¤½¤³¤Ç¡¢¸÷¥»¥ó¥µ¤ÎÃͤ¬"LINE_BLACK"¤è¤ê¾®¤µ¤¤¡Ê¹õ¿§¤ò¸¡ÃΤ·¤Æ¤¤¤ë¡Ë´Ö¥¿¥¤¥Þ¡¼¤Ç»þ´Ö¤ò·×¬¤·¡¢ÊÑ¿ô"timer"¤Ë¤½¤ÎÃͤòÅϤ¹¡£¤³¤Î"timer"¤ÎÃͤò"time_max"¤ÎÃ͡ʥᥤ¥ó¥¿¥¹¥¯¤ÇÀßÄê¡Ë¤ÈÈæ³Ó¤·¡¢Â礤¤¾ì¹ç¤Ï¥ë¡¼¥×¤«¤éÈ´¤±¤ë¤³¤È¤Ç¸òº¹ÅÀ¤òȽÃǤ·¤Æ¤¤¤ë¡£
¡¡¥á¥¤¥ó¥¿¥¹¥¯¤Ï¡¢Â礤¯Ê¬¤±¤Æ¸÷¥»¥ó¥µ¤È¥â¡¼¥¿¡¼¤Î¥Ñ¥ï¡¼¤ÎÀßÄê¤È¥é¥¤¥ó¤ò¥È¥ì¡¼¥¹¤¹¤ëÆ°ºîÉôʬ¤Î£²¤Ä¤Ëʬ¤±¤é¤ì¤ë¡£Æ°ºîÉôʬ¤Ë¤Ä¤¤¤Æ¤Ï¥×¥í¥°¥é¥à¤Î²¼¤ÇÀâÌÀ¤¹¤ë¡£
/*---------- ¥á¥¤¥ó¥¿¥¹¥¯ ----------*/ task main() { /* ¸÷¥»¥ó¥µ¡¦¥â¡¼¥¿¥Ñ¥ï¡¼¡¡ÀßÄê */ SetSensor(SENSOR_2 , SENSOR_LIGHT); SetPower(OUT_AC , 3); /* Æ°ºîÉôʬ */ // AÃÏÅÀ¢ªEÃÏÅÀ ---------------------------------------- time_max = TIME_MAX_N; Follow_Line_R(); // EÃÏÅÀ¡¡Åþã // SOUND_UP ¡õ ±¦ÀÞ PlaySound(SOUND_UP); TURN_RIGHT; until(SENSOR_2 > THRESHOLD_HIGH); // EÃÏÅÀ¢ªPÃÏÅÀ ---------------------------------------- Follow_Line_R(); // PÃÏÅÀ¡¡Åþã (°ì»þÄä»ß) // SOUND_DOWN & º¸ÀÞ PlaySound(SOUND_DOWN); STOP; Wait(100); TURN_LEFT; until(SENSOR_2 > THRESHOLD_HIGH); // PÃÏÅÀ¢ªQÃÏÅÀ ---------------------------------------- Follow_Line_L(); // QÃÏÅÀ¡¡Åþã // SOUND_DOWN & ľ¿Ê¡Ê¸úΨ²½¤Î¤¿¤á±¦Àޤˤè¤ë²£ÃÇ¡Ë PlaySound(SOUND_UP); CURVE_RIGHT; until(SENSOR_2 > THRESHOLD_HIGH); // QÃÏÅÀ¢ªRÃÏÅÀ ---------------------------------------- Follow_Line_L(); // RÃÏÅÀ¡¡Åþã // SOUND_UP & º¸ÀÞ PlaySound(SOUND_UP); TURN_LEFT; until(SENSOR_2 > THRESHOLD_HIGH); // RÃÏÅÀ¢ªTÃÏÅÀ ---------------------------------------- Follow_Line_L(); // TÃÏÅÀ¡¡Åþã¡Ê°ì»þÄä»ß¡Ë // SOUND_DOWN & ľ¿Ê PlaySound(SOUND_DOWN); STOP; Wait(100); FOWORD; until(SENSOR_2 > THRESHOLD_HIGH); // TÃÏÅÀ¢ªTÃÏÅÀ ---------------------------------------- time_max = TIME_MAX_TG; Follow_Line_L(); // TÃÏÅÀ¡¡Åþã¡Ê°ì»þÄä»ß¡Ë // SOUND_DOWN & ľ¿Ê¡Ê¥é¥¤¥ó±¦Â¦¤Ø°ÜÆ°¡Ë PlaySound(SOUND_DOWN); STOP; Wait(100); CURVE_RIGHT; until(SENSOR_2 > THRESHOLD_HIGH); until(SENSOR_2 < THRESHOLD_LOW); until(SENSOR_2 > THRESHOLD_HIGH); // TÃÏÅÀ¢ªHÃÏÅÀ ---------------------------------------- Follow_Line_R(); // HÃÏÅÀ¡¡Åþã // SOUND_UP & ±¦ÀÞ PlaySound(SOUND_UP); CURVE_RIGHT; until(SENSOR_2 > THRESHOLD_HIGH); // HÃÏÅÀ¢ªÃÏÅÀG ---------------------------------------- Follow_Line_R(); // GÃÏÅÀ¡¡Åþã // SOUND_UP & ľ¿Ê PlaySound(SOUND_UP); FOWORD; until(SENSOR_2 > THRESHOLD_HIGH); // GÃÏÅÀ¢ªSÃÏÅÀ ---------------------------------------- time_max = TIME_MAX_N; Follow_Line_L(); // SÃÏÅÀ¡¡Åþã¡Ê°ì»þÄä»ß¡Ë // SOUND_DOWN & º¸ÀÞ PlaySound(SOUND_DOWN); STOP; Wait(100); TURN_LEFT; until(SENSOR_2 > THRESHOLD_HIGH); // SÃÏÅÀ¢ªPÃÏÅÀ ---------------------------------------- Follow_Line_L(); // PÃÏÅÀ Åþã // SOUN_UP & ľ¿Ê¡Ê¸úΨ²½¤Î¤¿¤á¤Ë±¦Àޤˤè¤ë²£ÃÇ¡Ë PlaySound(SOUND_UP); CURVE_RIGHT; until(SENSOR_2 > THRESHOLD_HIGH); // PÃÏÅÀ¢ªQÃÏÅÀ ---------------------------------------- Follow_Line_L(); // QÃÏÅÀ¡¡Åþã // SOUND_UP & º¸Àޡʥ饤¥ó±¦Â¦¤Ø°ÜÆ°¡Ë PlaySound(SOUND_UP); CURVE_RIGHT; until(SENSOR_2 > THRESHOLD_HIGH); // QÃÏÅÀ¢ªFÃÏÅÀ ---------------------------------------- Follow_Line_R(); // FÃÏÅÀ¡¡Åþã // SOUND_UP & º¸ÀÞ¡Êľ¿Ê¤Ë¤è¤Ã¤Æ¥é¥¤¥ó²£ÃÇ¡Ë PlaySound(SOUND_UP); FOWORD; until(SENSOR_2 > THRESHOLD_HIGH); // FÃÏÅÀ¢ªEÃÏÅÀ ---------------------------------------- Follow_Line_L(); // EÃÏÅÀ¡¡Åþã //¡Êľ¿Ê¤Ë¤è¤ë²£ÃÇ¡Ë FOWORD; until(SENSOR_2 > THRESHOLD_HIGH); // EÃÏÅÀ¢ªAÃÏÅÀ ---------------------------------------- Follow_Line_L(); // AÃÏÅÀ¡¡Åþã // ¥é¥¤¥ó²£ÃǸ塢AÃÏÅÀÆâ¤ÇÄä»ß PlaySound(SOUND_DOWN); CURVE_RIGHT; until(SENSOR_2 > THRESHOLD_HIGH); FOWORD; Wait(70); STOP; //¥´¡¼¥ë }
¡¡´ðËÜŪ¤Ë¤Ï¡¢¼¡¤ÎÆ°ºî¤Î·«¤êÊÖ¤·¤ÇÁö¹Ô¤·¤Æ¤¤¤ë¡£
¡¡¡¡¡Ê"time_max"¤ÎÀßÄê¡Ë
¡¡¡¡¡¥é¥¤¥ó¤Î±¦¤â¤·¤¯¤Ïº¸¤òÁö¹Ô
¡¡¡¡¢¸òº¹ÅÀÅþã»þ¤Ë²»¤òÌĤ餷¡¢»ØÄ꤬¤¢¤ë¾ì¹ç¤Ë¤Ï°ì»þÄä»ß
¡¡¡¡£¸òº¹ÅÀ¤ò²£ÃÇ
¡¡¡Ø"time_max"¤ÎÀßÄê¡Ù¤Ë´Ø¤·¤Æ¤Ï¡¢TÃÏÅÀ¤«¤éGÃÏÅÀ¤Þ¤ÇÈϰϰʳ°¤Î¾ì½ê¤Ç¤Ï"TIME_MAX_N"¤òÀßÄꤷ¤Æ¤¤¤ë¡£TÃÏÅÀ¤«¤éGÃÏÅÀ¤Þ¤Ç¤Î´Ö¤Ï±ß¤ÎÆ⦤äµÞ¥«¡¼¥Ö¤òÁö¹Ô¤·"TIME_MAX_N"¤è¤ê¤âÂ礤ÊÃͤòÀßÄꤷ¤Ê¤¤¤È¥³¡¼¥¹¥¢¥¦¥È¤·¤Æ¤·¤Þ¤¦¤¿¤á"TIME_MAX_TG"¤òÀßÄꤷ¤Æ¤¤¤ë¡£¤½¤Î¤¿¤á"time_max"¤ÎÀßÄê¤Ï¡¢¥¹¥¿¡¼¥È»þ¤È£±²óÌܤÎTÃÏÅÀÄ̲á»þ¡¢GÃÏÅÀÄ̲á»þ¤Î£³²ó¤Î¤ß¹Ô¤Ã¤Æ¤¤¤ë¡£
¡¡º£²ó¤Î²ÝÂê¤ÏïçÃͤÎÃͤȸòº¹ÅÀȽÃǤΤ¿¤á¤Î»þ´Ö¤ÎξÊý¤ÎÀßÄê¤Ë¤è¤Ã¤ÆÁö¹Ô¤Î¶ñ¹ç¤¬Â礤¯ÊѤï¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£¤½¤Î¤¿¤á¡¢ÉÔ¶ñ¹ç¤òÄ´À°¤·¤è¤¦¤È¤·¤ÆÊÒÊý¤òÊѹ¹¤·¤Æ¤·¤Þ¤¦¤ÈÊѹ¹Á°¤ÏåºÎï¤ËÆ°¤¤¤Æ¤¤¤¿¤Ï¤º¤Î²Õ½ê¤¬¤ª¤«¤·¤¯¤Ê¤Ã¤Æ¤·¤Þ¤¦¤³¤È¤¬¤è¤¯¤¢¤ê¡¢Î¾Êý¤ÎÃͤòÊѹ¹¤·¤Ê¤¬¤éÍýÁÛ¤ÎÃͤòõ¤¹¤Î¤¬Æñ¤·¤«¤Ã¤¿¤è¤¦¤Ë»×¤¦¡£
¡¡¤Þ¤¿¡¢¸òº¹ÅÀ¤ò²£ÃǤ¹¤ë¤È¤¤Ë¡¢¤Ç¤¤ë¤À¤±Ê£»¨¤ÊÆ°¤¤ÏÈò¤±¤Æ¥·¥ó¥×¥ë¤ÊÆ°ºî¤Ç²£ÃǤǤ¤ë¤è¤¦¤Ë¹©Éפ·¤¿¡£¤·¤«¤·¡¢£±¤Ä¤º¤Ä¤ÎÆ°ºî¤Ï¥·¥ó¥×¥ë¤À¤¬³Æ¸òº¹ÅÀ¤´¤È¤ËÆ°¤¤òÊѤ¨¤Æ¤·¤Þ¤Ã¤Æ¤¤¤ë¤¿¤á¡¢¥á¥¤¥ó¥¿¥¹¥¯¤¬Ä¹¤¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£¤â¤¦¾¯¤·¹©Éפ·¤Æ¥µ¥Ö¥ë¡¼¥Á¥ó¤Ê¤É¤Ç¤Þ¤È¤á¤ë¤³¤È¤¬¤Ç¤¤ì¤Ð¤è¤«¤Ã¤¿¤È»×¤¦¡£