2016a/Member/kotatu/Mission2
¤ò¥Æ¥ó¥×¥ì¡¼¥È¤Ë¤·¤ÆºîÀ®
[
¥È¥Ã¥×
] [
¿·µ¬
|
°ìÍ÷
|
¸¡º÷
|
ºÇ½ª¹¹¿·
|
¥Ø¥ë¥×
|
¥í¥°¥¤¥ó
]
³«»Ï¹Ô:
[[2016a/Member]]
*£±¡¥Ìܼ¡ [#ldea1e8b]
#contents
*£²¡¥¤Ï¤¸¤á¤Ë [#t9c7cf52]
¡¡¡¡º£²ó¤Î²ÝÂê¤Ï¡¢¥é¥¤¥ó¥È¥ì¡¼¥¹¤Ç¤¹¡£²¼¿Þ¤Î¹õÀþ¤Ë±è¤Ã¤Æ¥í¥Ü¥Ã¥È¤òÆ°¤«¤·¤Þ¤¹¡£
#ref(2016a/Member/kotatu/Mission2/2016a-mission2.png,50%,¥³¡¼¥¹)
¡¡¡¡»ä¤ÏCÃÏÅÀ¤«¤éAÃÏÅÀ¤Ø°ÜÆ°¤¹¤ë¥×¥í¥°¥é¥à¤òºîÀ®¤·¤¿¤Î¤Ç¡¢
¡¡¡¡¡¡CÃÏÅÀ¡¡¢ª¡¡Sº¸ÀÞ¡¡¢ª¡¡Pº¸ÀÞ¡¡¢ª¡¡Qľ¿Ê¡¡¢ª¡¡Qľ¿Ê¡¡¢ª¡¡R±¦ÀÞ¡¡¢ª¡¡Pº¸ÀÞ¡¡¢ª¡¡AÃÏÅÀ
¡¡¡¡¤Î¥ë¡¼¥È¤òÄ̤ê¤Þ¤¹¡£
*£³¡¥ËÜÂΤÎÀâÌÀ [#x51938a1]
¡¡¡¡ËÜÂΤÏÈæ³ÓŪ¥·¥ó¥×¥ë¤Ê¤â¤Î¤Ë¤·¤Þ¤·¤¿¡£¸÷¥»¥ó¥µ¡¼¤ò¤Ê¤ë¤Ù¤¯ËÜÂΡ¦ÃÏÌ̤˶᤯¤Ê¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
#ref(2016a/Member/kotatu/Mission2/Image_514cd12.jpg,20%,ËÜÂΣ±)
#ref(2016a/Member/kotatu/Mission2/S_4574108066090.jpg,15%,ËÜÂΣ²)
¡¡¡¡ËÜÂΤò°ú¤¤º¤é¤Ê¤¤¤è¤¦¤Ë¡¢Î¢Ì̤ϼ̿¿¤Î¤è¤¦¤Ë³ê¤ê¤ä¤¹¤¯¤·¤Þ¤·¤¿¡£(¹õ¤¤±ß·Á¤Î¥Ñ¡¼¥Ä¤Ç¤¹¡£)
#ref(2016a/Member/kotatu/Mission2/S_4573649592503.jpg,20%,ËÜÂΣ³)
*£´¡¥¥×¥í¥°¥é¥à [#c6f252ca]
¡¡¡ÄêµÁʸ
¡¡¡¡¸÷¥»¥ó¥µ¡¼¤Î¶³¦¤Ï4¤ÄÀߤ±¤Þ¤·¤¿¡£nMAX¤Ï¸òº¹ÅÀȽÄê»þ¤Ë¡¢TURN_TIMEW90¡¦180¤Ï¸òº¹ÅÀ¤òÅϤë¤È¤¤Ë»ÈÍѤ·¤Þ¤¹¡£
¡¡¡¡±¦¡Êº¸¡ËÀû²ó¤Ï¡¢±¦¡Êº¸¡Ë²óž¤è¤ê¤âµÞ¤Ë¶Ê¤¬¤ê¤Þ¤¹¡£
#define BLACK 35¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ¡¡¡¡¡¡¡¡¡¡//¶³¦üñ¡¡35°Ê²¼¤Ï¹õ
#define B_GLAY 38¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ¡¡¡¡¡¡ //¶³¦üò¡¡35¡Á38¤Î´Ö¤Ï¹õ´ó¤ê¤Î³¥¿§
#define W_GLAY 42 //¶³¦üó¡¡42¡Á45¤Î´Ö¤ÏÇò´ó¤ê¤Î³¥¿§
#define WHITE 45 //¶³¦üô¡¡45°Ê¾å¤ÏÇò
#define go_forward OnFwd(OUT_AC); //Á°¿Ê
#define turn_right1 OnFwd(OUT_A);OnRev(OUT_C);//±¦Àû²ó¡Ê±¦²óž¤è¤ê¤âµÞ¤Ë¶Ê¤¬¤ë¡Ë
#define turn_right2 OnFwd(OUT_A); //±¦²óž
#define turn_left1 OnFwd(OUT_C);OnRev(OUT_A); //º¸Àû²ó¡Êº¸²óž¤è¤ê¤âµÞ¤Ë¶Ê¤¬¤ë¡Ë
#define turn_left2 OnFwd(OUT_C); //º¸²óž
#define nMAX 5 //n¤¬5°Ê¾å¤Ç¸òº¹ÅÀ¤ÈȽÄê
#define STEP 1 //¾®µÙ·Æ¡Ê¼¡¤Î¥×¥í¥°¥é¥à¤Ø°Ü¹Ô¤Ø¤Î½àÈ÷¡Ë
#define TURN_TIME90 50 //90Åٶʤ¬¤ë¾ì¹ç¤Î²óž»þ´Ö
#define TURN_TIME180 80 //180Åٶʤ¬¤ë¾ì¹ç¤Î²óž»þ´Ö
¡¡¢¥é¥¤¥ó¥È¥ì¡¼¥¹¡Ê¥µ¥Ö¥ë¡¼¥Á¥ó¡Ë
¡¡¡¡´ðËܤϥ饤¥ó¤Îº¸Â¦¤ò¥È¥ì¡¼¥¹¤·¤Þ¤¹¡£
¡¡¡¡¸òº¹ÅÀ¤Ï¡¢Â³¤±¤Æ¹õ¤Ë¤Ê¤ë²ó¿ô¤¬²¿²ó³¤¯¤«¤Ë¤è¤Ã¤ÆȽÃǤ¹¤ëÊýË¡¤òºÎÂò¤·¤Þ¤·¤¿¡£
¡¡¡¡¡ÖnOnBLACK¡×¤Ï²¿²óϢ³¤Ç¸÷¥»¥ó¥µ¡¼¤ÎÃͤ¬35°Ê²¼¡Ê¹õ¤ÈȽÄꤷ¤¿»þ¡Ë¤Ë¤Ê¤Ã¤¿¤«¤ò¼¨¤¹ÃͤǤ¹¡£¸÷¥»¥ó¥µ¡¼¤ÎÃͤ¬35°Ê²¼¤Î¤È¤¤Ë¥«¥¦¥ó¥È¤òÁý¤ä¤·¡¢¡ÖnMAX¡×(ÄêµÁʸ¤è¤ên¤¬5)¤Ë¤Ê¤Ã¤¿¤È¤¸òº¹ÅÀ¤ÈȽÃǤ·¤Æ²»¤òÌĤ餷¤Þ¤¹¡£
¡¡¡¡¡ÖX¡×¤Ï¸òº¹ÅÀ¤ÈȽÃǤ·¤¿¤È¤¤Ë¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò»ß¤á¤µ¤»¤ë¤¿¤á¤ÎÃͤǤ¹¡£¸òº¹ÅÀ¤ÈȽÃǤ·¤¿¤È¤¡Ê¾åµ¡Ë¤Ë¥«¥¦¥ó¥È¤ò1¤ÄÁý¤ä¤·¡¢while¤Î³ç¸ÌÆ⤬À®¤êΩ¤¿¤Ê¤¤¤è¤¦¤Ë¤Ê¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£
sub line_trace()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
int nOnBLACK=0; //nOnBLACK¤òÄêµÁ¤¹¤ë¡Ê¾åµ¡Ë
int X=0; //X¤òÄêµÁ¤¹¤ë¡Ê¾åµ¡Ë
while(X == 0){ //X¤¬0¤Î´Ö°Ê²¼¤ÎÆ°¤¤ò·«¤êÊÖ¤¹
while(nOnBLACK < nMAX){
if (SENSOR_2 < BLACK) { //¹õ¤Î¤È¤¡¢º¸Àû²ó
turn_left1;
nOnBLACK++; //OnBLACK¤Î¥«¥¦¥ó¥È¤ò1Áý¤ä¤¹
} else {
if (SENSOR_2 < B_GLAY) { //¹õ´ó¤ê¤Î³¥¿§¤Î¤È¤¡¢º¸²óž
turn_left2;
} else if (SENSOR_2 < W_GLAY) { //¹õ´ó¤ê¤Î³¥¿§¤ÈÇò´ó¤ê¤Î³¥¿§¤Î´Ö¤Î¤È¤¡¢Á°¿Ê
go_forward;
} else if (SENSOR_2 < WHITE) { //Çò´ó¤ê¤Î³¥¿§¤Î¤È¤¡¢±¦²óž
turn_right2;
} else if (SENSOR_2 > WHITE) { //Çò¤Î¤È¤¡¢±¦Àû²ó
turn_right1;
}
nOnBLACK=0; //OnBLACK¤Î¥«¥¦¥ó¥È¤ò¥ê¥»¥Ã¥È¤¹¤ë
}
Wait(STEP); //¾®µÙ·Æ
}
Off(OUT_AC);
Wait(100);
PlaySound(SOUND_FAST_UP); //²»¤òÌĤ餹
Wait(300);
nOnBLACK=0; //OnBLACK¤Î¥«¥¦¥ó¥È¤ò¥ê¥»¥Ã¥È¤¹¤ë
X++; //X¤Î¥«¥¦¥ó¥È¤ò1Áý¤ä¤¹
}
X=0; //X¤Î¥«¥¦¥ó¥È¤ò¥ê¥»¥Ã¥È¤¹¤ë
}
¡¡£¸òº¹ÅÀ¤òº¸ÀÞ¡Ê¥µ¥Ö¥ë¡¼¥Á¥ó¡Ë
¡¡¡¡¸òº¹ÅÀ¤ÈȽÄꤷ¤¿¤È¤¤Î¥í¥Ü¥Ã¥È¤Î°ÌÃ֤ˤϤФé¤Ä¤¤¬¤¢¤ë¤Î¤Ç¡¢Çò¤Ë¤Ê¤ë¤Þ¤Ç²óž¤µ¤»¡¢¸òº¹ÅÀ¤ËÂФ¹¤ë¥í¥Ü¥Ã¥È¤Î¸þ¤¤¤Æ¤¤¤ë³ÑÅÙ¤ò¸ÇÄꤷ¤Þ¤¹¡£
¡¡¡¡º¸Àޤξì¹ç¤Ï¡¢²óž¤µ¤»¤¿¸å¾®µÙ·Æ¤ò¤Ï¤µ¤ß¤½¤Î¤Þ¤ÞºÆÅ٥饤¥ó¥È¥ì¡¼¥¹¤ò³«»Ï¤·¤Þ¤¹¡£
sub turn_left()
{
while(SENSOR_2 < WHITE){¡¡¡¡¡¡//¸÷¥»¥ó¥µ¡¼¤¬Çò¤ÈȽÄꤹ¤ë¤Þ¤Çº¸²óž
turn_left1;
}
Wait(STEP);¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ //¾®µÙ·Æ
}
¡¡¤¸òº¹ÅÀ¤òľ¿Ê¡Ê¥µ¥Ö¥ë¡¼¥Á¥ó¡Ë
¡¡¡¡º¸Àޤξì¹ç¤ÈƱÍͤËÇò¤Ë¤Ê¤ë¤Þ¤Ç±¦²óž¤µ¤»¤Þ¤¹¡£
¡¡¡¡¤½¤Î¸å90ÅÙ¤½¤Î¾ì¤Ç²óž¤µ¤»¡¢Á°¿Ê¤·¤Æ¥é¥¤¥ó¤òĶ¤¨¤Þ¤¹¡£
sub advance()
{
while(SENSOR_2 < WHITE){ //¸÷¥»¥ó¥µ¡¼¤¬Çò¤ÈȽÄꤹ¤ë¤Þ¤Çº¸²óž
turn_left1;
}
Wait(STEP); //¾®µÙ·Æ
turn_right1; //90Åٶʤ¬¤ë
Wait(TURN_TIME90);
go_forward; //¥é¥¤¥ó¾å¤òÄ̲á
Wait(20);
}
¡¡¥¸òº¹ÅÀ¤ò±¦ÀÞ¡Ê¥µ¥Ö¥ë¡¼¥Á¥ó¡Ë
¡¡¡¡º¸Àޤξì¹ç¤ÈƱÍͤËÇò¤Ë¤Ê¤ë¤Þ¤Ç±¦²óž¤µ¤»¤Þ¤¹¡£
¡¡¡¡¤½¤Î¸å180ÅÙ¤½¤Î¾ì¤Ç²óž¤µ¤»¡¢Á°¿Ê¤·¤Æ¥é¥¤¥ó¤òĶ¤¨¡¢ºÆ¤Ó¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³«»Ï¤·¤Þ¤¹¡£
sub turn_right()
{
while(SENSOR_2 < WHITE){ //¸÷¥»¥ó¥µ¡¼¤¬Çò¤ÈȽÄꤹ¤ë¤Þ¤Çº¸²óž
turn_left1;
}
Wait(STEP); //¾®µÙ·Æ
turn_right1; //180Åٶʤ¬¤ë
Wait(TURN_TIME180);
go_forward; //¥é¥¤¥ó¾å¤òÄ̲á
Wait(20);
}
¡¡¦¥³¡¼¥¹¤Ë±è¤Ã¤Æ¥é¥¤¥ó¥È¥ì¡¼¥¹
¡¡¡¡£²¡¥¤Ï¤¸¤á¤Ë¡¡¤Çµ½Ò¤·¤¿¤è¤¦¤Ë
¡¡¡¡¡¡CÃÏÅÀ¡¡¢ª¡¡Sº¸ÀÞ¡¡¢ª¡¡Pº¸ÀÞ¡¡¢ª¡¡Qľ¿Ê¡¡¢ª¡¡Qľ¿Ê¡¡¢ª¡¡R±¦ÀÞ¡¡¢ª¡¡Pº¸ÀÞ¡¡¢ª¡¡AÃÏÅÀ
¡¡¡¡¤Î¥ë¡¼¥È¤ò¿Ê¤ß¤Þ¤¹¡£ºÇ¸å¤Îľ¿Ê¤ÏAÃÏÅÀ¤ÎÏȤÎÃæ¤ËÆþ¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¹¡£
task main()
{
line_trace();
turn_left();
line_trace();
turn_left();
line_trace();
advance();
line_trace();
advance();
line_trace();
turn_right();
line_trace();
turn_left();
line_trace();
advance();
go_forward(OUT_AC);
Wait(100);
Off(OUT_AC);
}
*£µ¡¥·ë²Ì¤È´¶ÁÛ [#v26f8003]
¡¡¡¡¥¹¥¿¡¼¥È¤«¤é¥´¡¼¥ë¤Þ¤Ç¤Ë¤«¤«¤Ã¤¿»þ´Ö¤Ï1ʬ10ÉäǤ·¤¿¡£
¡¡¡¡¤Þ¤ì¤ËÅÓÃæ¤Ç¥³¡¼¥¹¤ò¸«¼º¤¦¤³¤È¤¬¤¢¤ê¤Þ¤·¤¿¤¬¡¢¤½¤Î¾ì¹ç°Ê³°¤Ï³µ¤ÍÎɹ¥¤ËÆ°¤«¤¹»ö¤¬¤Ç¤Þ¤·¤¿¡£
¡¡¡¡Á°²ó¤Î»÷´é³¨¤Ï´°À®¤µ¤»¤ë¤³¤È¤¬½ÐÍè¤Þ¤»¤ó¤Ç¤·¤¿¤¬¡¢º£²ó¤ÏÈæ³ÓŪ;͵¤ò¤â¤Ã¤Æ´°À®¤µ¤»¤ë¤³¤È¤¬½ÐÍ褿¤Î¤ÇÎɤ«¤Ã¤¿¤È»×¤¤¤Þ¤¹¡£
½ªÎ»¹Ô:
[[2016a/Member]]
*£±¡¥Ìܼ¡ [#ldea1e8b]
#contents
*£²¡¥¤Ï¤¸¤á¤Ë [#t9c7cf52]
¡¡¡¡º£²ó¤Î²ÝÂê¤Ï¡¢¥é¥¤¥ó¥È¥ì¡¼¥¹¤Ç¤¹¡£²¼¿Þ¤Î¹õÀþ¤Ë±è¤Ã¤Æ¥í¥Ü¥Ã¥È¤òÆ°¤«¤·¤Þ¤¹¡£
#ref(2016a/Member/kotatu/Mission2/2016a-mission2.png,50%,¥³¡¼¥¹)
¡¡¡¡»ä¤ÏCÃÏÅÀ¤«¤éAÃÏÅÀ¤Ø°ÜÆ°¤¹¤ë¥×¥í¥°¥é¥à¤òºîÀ®¤·¤¿¤Î¤Ç¡¢
¡¡¡¡¡¡CÃÏÅÀ¡¡¢ª¡¡Sº¸ÀÞ¡¡¢ª¡¡Pº¸ÀÞ¡¡¢ª¡¡Qľ¿Ê¡¡¢ª¡¡Qľ¿Ê¡¡¢ª¡¡R±¦ÀÞ¡¡¢ª¡¡Pº¸ÀÞ¡¡¢ª¡¡AÃÏÅÀ
¡¡¡¡¤Î¥ë¡¼¥È¤òÄ̤ê¤Þ¤¹¡£
*£³¡¥ËÜÂΤÎÀâÌÀ [#x51938a1]
¡¡¡¡ËÜÂΤÏÈæ³ÓŪ¥·¥ó¥×¥ë¤Ê¤â¤Î¤Ë¤·¤Þ¤·¤¿¡£¸÷¥»¥ó¥µ¡¼¤ò¤Ê¤ë¤Ù¤¯ËÜÂΡ¦ÃÏÌ̤˶᤯¤Ê¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
#ref(2016a/Member/kotatu/Mission2/Image_514cd12.jpg,20%,ËÜÂΣ±)
#ref(2016a/Member/kotatu/Mission2/S_4574108066090.jpg,15%,ËÜÂΣ²)
¡¡¡¡ËÜÂΤò°ú¤¤º¤é¤Ê¤¤¤è¤¦¤Ë¡¢Î¢Ì̤ϼ̿¿¤Î¤è¤¦¤Ë³ê¤ê¤ä¤¹¤¯¤·¤Þ¤·¤¿¡£(¹õ¤¤±ß·Á¤Î¥Ñ¡¼¥Ä¤Ç¤¹¡£)
#ref(2016a/Member/kotatu/Mission2/S_4573649592503.jpg,20%,ËÜÂΣ³)
*£´¡¥¥×¥í¥°¥é¥à [#c6f252ca]
¡¡¡ÄêµÁʸ
¡¡¡¡¸÷¥»¥ó¥µ¡¼¤Î¶³¦¤Ï4¤ÄÀߤ±¤Þ¤·¤¿¡£nMAX¤Ï¸òº¹ÅÀȽÄê»þ¤Ë¡¢TURN_TIMEW90¡¦180¤Ï¸òº¹ÅÀ¤òÅϤë¤È¤¤Ë»ÈÍѤ·¤Þ¤¹¡£
¡¡¡¡±¦¡Êº¸¡ËÀû²ó¤Ï¡¢±¦¡Êº¸¡Ë²óž¤è¤ê¤âµÞ¤Ë¶Ê¤¬¤ê¤Þ¤¹¡£
#define BLACK 35¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ¡¡¡¡¡¡¡¡¡¡//¶³¦üñ¡¡35°Ê²¼¤Ï¹õ
#define B_GLAY 38¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ¡¡¡¡¡¡ //¶³¦üò¡¡35¡Á38¤Î´Ö¤Ï¹õ´ó¤ê¤Î³¥¿§
#define W_GLAY 42 //¶³¦üó¡¡42¡Á45¤Î´Ö¤ÏÇò´ó¤ê¤Î³¥¿§
#define WHITE 45 //¶³¦üô¡¡45°Ê¾å¤ÏÇò
#define go_forward OnFwd(OUT_AC); //Á°¿Ê
#define turn_right1 OnFwd(OUT_A);OnRev(OUT_C);//±¦Àû²ó¡Ê±¦²óž¤è¤ê¤âµÞ¤Ë¶Ê¤¬¤ë¡Ë
#define turn_right2 OnFwd(OUT_A); //±¦²óž
#define turn_left1 OnFwd(OUT_C);OnRev(OUT_A); //º¸Àû²ó¡Êº¸²óž¤è¤ê¤âµÞ¤Ë¶Ê¤¬¤ë¡Ë
#define turn_left2 OnFwd(OUT_C); //º¸²óž
#define nMAX 5 //n¤¬5°Ê¾å¤Ç¸òº¹ÅÀ¤ÈȽÄê
#define STEP 1 //¾®µÙ·Æ¡Ê¼¡¤Î¥×¥í¥°¥é¥à¤Ø°Ü¹Ô¤Ø¤Î½àÈ÷¡Ë
#define TURN_TIME90 50 //90Åٶʤ¬¤ë¾ì¹ç¤Î²óž»þ´Ö
#define TURN_TIME180 80 //180Åٶʤ¬¤ë¾ì¹ç¤Î²óž»þ´Ö
¡¡¢¥é¥¤¥ó¥È¥ì¡¼¥¹¡Ê¥µ¥Ö¥ë¡¼¥Á¥ó¡Ë
¡¡¡¡´ðËܤϥ饤¥ó¤Îº¸Â¦¤ò¥È¥ì¡¼¥¹¤·¤Þ¤¹¡£
¡¡¡¡¸òº¹ÅÀ¤Ï¡¢Â³¤±¤Æ¹õ¤Ë¤Ê¤ë²ó¿ô¤¬²¿²ó³¤¯¤«¤Ë¤è¤Ã¤ÆȽÃǤ¹¤ëÊýË¡¤òºÎÂò¤·¤Þ¤·¤¿¡£
¡¡¡¡¡ÖnOnBLACK¡×¤Ï²¿²óϢ³¤Ç¸÷¥»¥ó¥µ¡¼¤ÎÃͤ¬35°Ê²¼¡Ê¹õ¤ÈȽÄꤷ¤¿»þ¡Ë¤Ë¤Ê¤Ã¤¿¤«¤ò¼¨¤¹ÃͤǤ¹¡£¸÷¥»¥ó¥µ¡¼¤ÎÃͤ¬35°Ê²¼¤Î¤È¤¤Ë¥«¥¦¥ó¥È¤òÁý¤ä¤·¡¢¡ÖnMAX¡×(ÄêµÁʸ¤è¤ên¤¬5)¤Ë¤Ê¤Ã¤¿¤È¤¸òº¹ÅÀ¤ÈȽÃǤ·¤Æ²»¤òÌĤ餷¤Þ¤¹¡£
¡¡¡¡¡ÖX¡×¤Ï¸òº¹ÅÀ¤ÈȽÃǤ·¤¿¤È¤¤Ë¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò»ß¤á¤µ¤»¤ë¤¿¤á¤ÎÃͤǤ¹¡£¸òº¹ÅÀ¤ÈȽÃǤ·¤¿¤È¤¡Ê¾åµ¡Ë¤Ë¥«¥¦¥ó¥È¤ò1¤ÄÁý¤ä¤·¡¢while¤Î³ç¸ÌÆ⤬À®¤êΩ¤¿¤Ê¤¤¤è¤¦¤Ë¤Ê¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£
sub line_trace()
{
SetSensor(SENSOR_2,SENSOR_LIGHT);
int nOnBLACK=0; //nOnBLACK¤òÄêµÁ¤¹¤ë¡Ê¾åµ¡Ë
int X=0; //X¤òÄêµÁ¤¹¤ë¡Ê¾åµ¡Ë
while(X == 0){ //X¤¬0¤Î´Ö°Ê²¼¤ÎÆ°¤¤ò·«¤êÊÖ¤¹
while(nOnBLACK < nMAX){
if (SENSOR_2 < BLACK) { //¹õ¤Î¤È¤¡¢º¸Àû²ó
turn_left1;
nOnBLACK++; //OnBLACK¤Î¥«¥¦¥ó¥È¤ò1Áý¤ä¤¹
} else {
if (SENSOR_2 < B_GLAY) { //¹õ´ó¤ê¤Î³¥¿§¤Î¤È¤¡¢º¸²óž
turn_left2;
} else if (SENSOR_2 < W_GLAY) { //¹õ´ó¤ê¤Î³¥¿§¤ÈÇò´ó¤ê¤Î³¥¿§¤Î´Ö¤Î¤È¤¡¢Á°¿Ê
go_forward;
} else if (SENSOR_2 < WHITE) { //Çò´ó¤ê¤Î³¥¿§¤Î¤È¤¡¢±¦²óž
turn_right2;
} else if (SENSOR_2 > WHITE) { //Çò¤Î¤È¤¡¢±¦Àû²ó
turn_right1;
}
nOnBLACK=0; //OnBLACK¤Î¥«¥¦¥ó¥È¤ò¥ê¥»¥Ã¥È¤¹¤ë
}
Wait(STEP); //¾®µÙ·Æ
}
Off(OUT_AC);
Wait(100);
PlaySound(SOUND_FAST_UP); //²»¤òÌĤ餹
Wait(300);
nOnBLACK=0; //OnBLACK¤Î¥«¥¦¥ó¥È¤ò¥ê¥»¥Ã¥È¤¹¤ë
X++; //X¤Î¥«¥¦¥ó¥È¤ò1Áý¤ä¤¹
}
X=0; //X¤Î¥«¥¦¥ó¥È¤ò¥ê¥»¥Ã¥È¤¹¤ë
}
¡¡£¸òº¹ÅÀ¤òº¸ÀÞ¡Ê¥µ¥Ö¥ë¡¼¥Á¥ó¡Ë
¡¡¡¡¸òº¹ÅÀ¤ÈȽÄꤷ¤¿¤È¤¤Î¥í¥Ü¥Ã¥È¤Î°ÌÃ֤ˤϤФé¤Ä¤¤¬¤¢¤ë¤Î¤Ç¡¢Çò¤Ë¤Ê¤ë¤Þ¤Ç²óž¤µ¤»¡¢¸òº¹ÅÀ¤ËÂФ¹¤ë¥í¥Ü¥Ã¥È¤Î¸þ¤¤¤Æ¤¤¤ë³ÑÅÙ¤ò¸ÇÄꤷ¤Þ¤¹¡£
¡¡¡¡º¸Àޤξì¹ç¤Ï¡¢²óž¤µ¤»¤¿¸å¾®µÙ·Æ¤ò¤Ï¤µ¤ß¤½¤Î¤Þ¤ÞºÆÅ٥饤¥ó¥È¥ì¡¼¥¹¤ò³«»Ï¤·¤Þ¤¹¡£
sub turn_left()
{
while(SENSOR_2 < WHITE){¡¡¡¡¡¡//¸÷¥»¥ó¥µ¡¼¤¬Çò¤ÈȽÄꤹ¤ë¤Þ¤Çº¸²óž
turn_left1;
}
Wait(STEP);¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ //¾®µÙ·Æ
}
¡¡¤¸òº¹ÅÀ¤òľ¿Ê¡Ê¥µ¥Ö¥ë¡¼¥Á¥ó¡Ë
¡¡¡¡º¸Àޤξì¹ç¤ÈƱÍͤËÇò¤Ë¤Ê¤ë¤Þ¤Ç±¦²óž¤µ¤»¤Þ¤¹¡£
¡¡¡¡¤½¤Î¸å90ÅÙ¤½¤Î¾ì¤Ç²óž¤µ¤»¡¢Á°¿Ê¤·¤Æ¥é¥¤¥ó¤òĶ¤¨¤Þ¤¹¡£
sub advance()
{
while(SENSOR_2 < WHITE){ //¸÷¥»¥ó¥µ¡¼¤¬Çò¤ÈȽÄꤹ¤ë¤Þ¤Çº¸²óž
turn_left1;
}
Wait(STEP); //¾®µÙ·Æ
turn_right1; //90Åٶʤ¬¤ë
Wait(TURN_TIME90);
go_forward; //¥é¥¤¥ó¾å¤òÄ̲á
Wait(20);
}
¡¡¥¸òº¹ÅÀ¤ò±¦ÀÞ¡Ê¥µ¥Ö¥ë¡¼¥Á¥ó¡Ë
¡¡¡¡º¸Àޤξì¹ç¤ÈƱÍͤËÇò¤Ë¤Ê¤ë¤Þ¤Ç±¦²óž¤µ¤»¤Þ¤¹¡£
¡¡¡¡¤½¤Î¸å180ÅÙ¤½¤Î¾ì¤Ç²óž¤µ¤»¡¢Á°¿Ê¤·¤Æ¥é¥¤¥ó¤òĶ¤¨¡¢ºÆ¤Ó¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò³«»Ï¤·¤Þ¤¹¡£
sub turn_right()
{
while(SENSOR_2 < WHITE){ //¸÷¥»¥ó¥µ¡¼¤¬Çò¤ÈȽÄꤹ¤ë¤Þ¤Çº¸²óž
turn_left1;
}
Wait(STEP); //¾®µÙ·Æ
turn_right1; //180Åٶʤ¬¤ë
Wait(TURN_TIME180);
go_forward; //¥é¥¤¥ó¾å¤òÄ̲á
Wait(20);
}
¡¡¦¥³¡¼¥¹¤Ë±è¤Ã¤Æ¥é¥¤¥ó¥È¥ì¡¼¥¹
¡¡¡¡£²¡¥¤Ï¤¸¤á¤Ë¡¡¤Çµ½Ò¤·¤¿¤è¤¦¤Ë
¡¡¡¡¡¡CÃÏÅÀ¡¡¢ª¡¡Sº¸ÀÞ¡¡¢ª¡¡Pº¸ÀÞ¡¡¢ª¡¡Qľ¿Ê¡¡¢ª¡¡Qľ¿Ê¡¡¢ª¡¡R±¦ÀÞ¡¡¢ª¡¡Pº¸ÀÞ¡¡¢ª¡¡AÃÏÅÀ
¡¡¡¡¤Î¥ë¡¼¥È¤ò¿Ê¤ß¤Þ¤¹¡£ºÇ¸å¤Îľ¿Ê¤ÏAÃÏÅÀ¤ÎÏȤÎÃæ¤ËÆþ¤ë¤¿¤á¤Î¤â¤Î¤Ç¤¹¡£
task main()
{
line_trace();
turn_left();
line_trace();
turn_left();
line_trace();
advance();
line_trace();
advance();
line_trace();
turn_right();
line_trace();
turn_left();
line_trace();
advance();
go_forward(OUT_AC);
Wait(100);
Off(OUT_AC);
}
*£µ¡¥·ë²Ì¤È´¶ÁÛ [#v26f8003]
¡¡¡¡¥¹¥¿¡¼¥È¤«¤é¥´¡¼¥ë¤Þ¤Ç¤Ë¤«¤«¤Ã¤¿»þ´Ö¤Ï1ʬ10ÉäǤ·¤¿¡£
¡¡¡¡¤Þ¤ì¤ËÅÓÃæ¤Ç¥³¡¼¥¹¤ò¸«¼º¤¦¤³¤È¤¬¤¢¤ê¤Þ¤·¤¿¤¬¡¢¤½¤Î¾ì¹ç°Ê³°¤Ï³µ¤ÍÎɹ¥¤ËÆ°¤«¤¹»ö¤¬¤Ç¤Þ¤·¤¿¡£
¡¡¡¡Á°²ó¤Î»÷´é³¨¤Ï´°À®¤µ¤»¤ë¤³¤È¤¬½ÐÍè¤Þ¤»¤ó¤Ç¤·¤¿¤¬¡¢º£²ó¤ÏÈæ³ÓŪ;͵¤ò¤â¤Ã¤Æ´°À®¤µ¤»¤ë¤³¤È¤¬½ÐÍ褿¤Î¤ÇÎɤ«¤Ã¤¿¤È»×¤¤¤Þ¤¹¡£
¥Ú¡¼¥¸Ì¾: