#ref(): File not found: "kadai2_1.jpg" at page "2011a/A3/²ÝÂê2º¸/okamoto¤Î¥Ú¡¼¥¸"
#define THRESHOLD 50 // ïçÃÍ #define turn_right(t) OnFwd(OUT_A);OnRev(OUT_C);Wait(t);Off(OUT_A+OUT_C); //±¦¤Ë¶Ê¤¬¤ë #define turn_left(t) OnRev(OUT_A);OnFwd(OUT_C);Wait(t);Off(OUT_A+OUT_C); //º¸¤Ë¶Ê¤¬¤ë #define go_straight(t) OnFwd(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C); //Á°¿Ê #define RUN_TIME1 90 //¡¤Î»þ´Ö #define RUN_TIME2 70 //¢ #define RUN_TIME3 34 //£ #define RUN_TIME4 27 //¤ #define RUN_TIME5 23 //¥ #define RUN_TIME6 25 //¦ #define RUN_TIME7 25 //§ #define RUN_TIME8 50 //¨ #define RUN_TIME9 50 //© task main () { SetSensor(SENSOR_1, SENSOR_LIGHT);//¥»¥ó¥µ¡¼1¤Ï¸÷¥»¥ó¥µ¡¼ SetSensor(SENSOR_3, SENSOR_LIGHT);//¥»¥ó¥µ¡¼3¤Ï¸÷¥»¥ó¥µ¡¼ ClearTimer(0);
while (Timer(0) <=RUN_TIME1) //whileÆâ¤òRUN_TIME1Éôַ«¤êÊÖ¤¹¡¦¡¦¡¦¡ { if ((SENSOR_1 < THRESHOLD)&&(SENSOR_3 < THRESHOLD)) { OnFwd(OUT_A+OUT_C);//(¥»¥ó¥µ¡¼1¡¢¥»¥ó¥µ¡¼3)(¹õ¡¢¹õ)¤Î¤È¤Á°¿Ê } if ((SENSOR_1 < THRESHOLD)&&(SENSOR_3 > THRESHOLD)) { Off(OUT_A);//¡Ê¹õ¡¢Çò¡Ë¤Î¤È¤¡¢º¸¼ÖÎؤò»ß¤á¤Æ¿ÊÏ©¤òº¸¤Ë½¤Àµ¤·µÞ¥«¡¼¥Ö¤ò¶Ê¤¬¤ë OnFwd(OUT_C); } if ((SENSOR_1 > THRESHOLD)&&(SENSOR_3 < THRESHOLD)) { OnRev(OUT_C);//¡ÊÇò¡¢¹õ¡Ë¤Î¤È¤¿ÊÏ©¤ò±¦¤Ë½¤Àµ OnFwd(OUT_A); } if ((SENSOR_1 > THRESHOLD)&&(SENSOR_3 > THRESHOLD)) { OnFwd(OUT_A+OUT_C);//¡ÊÇò¡¢Çò¡Ë¤Î¤È¤Á°¿Ê } } Off(OUT_A+OUT_C); ClearTimer(0);//¥¿¥¤¥Þ¡¼¥ê¥»¥Ã¥È
while (Timer(0) <=RUN_TIME2) //¥»¥ó¥µ¡¼1¤ò»ÈÍѤ»¤º¥³¡¼¥¹¤ÎÆ⦤Υ»¥ó¥µ¡¼¤À¤±´¶ÃΤµ¤»¤Æľ³Ñ¤ò¶Ê¤¬¤ë¡¦¡¦¡¦¢ { if ((SENSOR_3 < THRESHOLD)) { OnFwd(OUT_A);//¥»¥ó¥µ¡¼3¤¬¹õ¤Î¤È¤¿ÊÏ©¤ò±¦¤Ë½¤Àµ OnRev(OUT_C); } if ((SENSOR_3 > THRESHOLD)) { OnFwd(OUT_A+OUT_C);//¥»¥ó¥µ¡¼3¤¬Çò¤Î¤È¤Á°¿Ê } } Off(OUT_A+OUT_C); ClearTimer(0);
while (Timer(0) <=RUN_TIME3)¡¦¡¦¡¦£ { if ((SENSOR_1 < THRESHOLD)&&(SENSOR_3 < THRESHOLD)) { OnFwd(OUT_A+OUT_C);//¡Ê¹õ¡¢¹õ¡ËÁ°¿Ê } if ((SENSOR_1 < THRESHOLD)&&(SENSOR_3 > THRESHOLD)) { Off(OUT_A);//¡Ê¹õ¡¢Çò¡Ë¿ÊÏ©½¤Àµ OnFwd(OUT_C); } if ((SENSOR_1 > THRESHOLD)&&(SENSOR_3 < THRESHOLD)) { OnRev(OUT_C);//¡ÊÇò¡¢¹õ¡Ë¿ÊÏ©½¤Àµ OnFwd(OUT_A); } if ((SENSOR_1 > THRESHOLD)&&(SENSOR_3 > THRESHOLD)) { OnFwd(OUT_A+OUT_C);//¡ÊÇò¡¢Çò¡ËÁ°¿Ê } } Off(OUT_A+OUT_C);
turn_right(40); //¥í¡¼¥¿¥ê¡¼¤ËÆþ¤ëÁ°¤Ë±¦¤Ë¶Ê¤¬¤ë
ClearTimer(0);
while (Timer(0) <=RUN_TIME4) //¥í¡¼¥¿¥ê¡¼¤Ç¤Ï¥»¥ó¥µ¡¼1¤À¤±»ÈÍÑ¡¦¡¦¡¦¤ { if ((SENSOR_1 < THRESHOLD)) { OnFwd(OUT_C);//¡Ê¹õ¡Ë¡¡¿ÊÏ©½¤Àµ OnRev(OUT_A); } if ((SENSOR_1 > THRESHOLD)) { OnFwd(OUT_A+OUT_C);//¡ÊÇò¡Ë Á°¿Ê } } Off(OUT_A+OUT_C); turn_right(50);//¥í¡¼¥¿¥ê¡¼½Ð¤ë¤È¤±¦¤Ë¶Ê¤¬¤ë ClearTimer(0);
while (Timer(0) <=RUN_TIME5)¥×¥í¥°¥é¥à¤Ï£¤ÈƱ¤¸¡¦¡¦¡¦¥ { if ((SENSOR_1 < THRESHOLD)&&(SENSOR_3 < THRESHOLD)) { OnFwd(OUT_A+OUT_C);//¡Ê¹õ¡¢¹õ¡ËÁ°¿Ê } if ((SENSOR_1 < THRESHOLD)&&(SENSOR_3 > THRESHOLD)) { OnRev(OUT_A);//¡Ê¹õ¡¢Çò¡Ë¿ÊÏ©½¤Àµ OnFwd(OUT_C); } if ((SENSOR_1 > THRESHOLD)&&(SENSOR_3 < THRESHOLD)) { OnRev(OUT_C);//¡ÊÇò¡¢¹õ¡Ë¿ÊÏ©½¤Àµ OnFwd(OUT_A); } if ((SENSOR_1 > THRESHOLD)&&(SENSOR_3 > THRESHOLD)) { OnFwd(OUT_A+OUT_C); //¡ÊÇò¡¢Çò¡ËÁ°¿Ê } } Off(OUT_A+OUT_C);
turn_right(55); //¶áÆ»¤ËÆþ¤ëÁ°¤Ë±¦¤Ë¶Ê¤¬¤ë go_straight(190); //¶áÆ»¤òÁ°¿Ê turn_right(50); //¶áÆ»¤Ë½Ð¤ë¤È¤¤Ë±¦¤Ë¶Ê¤¬¤ë ClearTimer(0);
while (Timer(0) <=RUN_TIME6)¥×¥í¥°¥é¥à¤Ï£¤ÈƱ¤¸ ¡¦¡¦¡¦¦ { if ((SENSOR_1 < THRESHOLD)&&(SENSOR_3 < THRESHOLD)) { OnFwd(OUT_A+OUT_C);//¡Ê¹õ¡¢¹õ¡ËÁ°¿Ê } if ((SENSOR_1 < THRESHOLD)&&(SENSOR_3 > THRESHOLD)) { OnRev(OUT_A);//¡Ê¹õ¡¢Çò¡Ë¿ÊÏ©½¤Àµ OnFwd(OUT_C); } if ((SENSOR_1 > THRESHOLD)&&(SENSOR_3 < THRESHOLD)) { OnRev(OUT_C);//¡ÊÇò¡¢¹õ¡Ë¿ÊÏ©½¤Àµ OnFwd(OUT_A); } if ((SENSOR_1 > THRESHOLD)&&(SENSOR_3 > THRESHOLD)) { OnFwd(OUT_A+OUT_C); //¡ÊÇò¡¢Çò¡ËÁ°¿Ê } } Off(OUT_A+OUT_C);
turn_right(30);//¥í¡¼¥¿¥ê¡¼¤ËÆþ¤ëÁ°¤Ë±¦¤Ë¶Ê¤¬¤ë ClearTimer(0);
while (Timer(0) <=RUN_TIME7) //¥×¥í¥°¥é¥à¤Ï¤¤ÈƱ¤¸¡¦¡¦¡¦§ { if ((SENSOR_1 < THRESHOLD)) { OnFwd(OUT_C);//¹õ OnRev(OUT_A); } if ((SENSOR_1 > THRESHOLD)) { OnFwd(OUT_A+OUT_C);//Çò } } Off(OUT_A+OUT_C);
turn_right(50); //¥í¡¼¥¿¥ê¡¼½Ð¤ë¤È¤±¦¤Ë¶Ê¤¬¤ë
ClearTimer(0);
while (Timer(0) <=RUN_TIME8) ¥×¥í¥°¥é¥à¤Ï£¤ÈƱ¤¸¡¦¡¦¡¦¨ { if ((SENSOR_1 < THRESHOLD)&&(SENSOR_3 < THRESHOLD)) { OnFwd(OUT_A+OUT_C);//¡Ê¹õ¡¢¹õ¡ËÁ°¿Ê } if ((SENSOR_1 < THRESHOLD)&&(SENSOR_3 > THRESHOLD)) { OnRev(OUT_A);//¡Ê¹õ¡¢Çò¡Ë¿ÊÏ©½¤Àµ OnFwd(OUT_C); } if ((SENSOR_1 > THRESHOLD)&&(SENSOR_3 < THRESHOLD)) { OnRev(OUT_C);//¡ÊÇò¡¢¹õ¡Ë¿ÊÏ©½¤Àµ OnFwd(OUT_A); } if ((SENSOR_1 > THRESHOLD)&&(SENSOR_3 > THRESHOLD)) { OnFwd(OUT_A+OUT_C); //¡ÊÇò¡¢Çò¡ËÁ°¿Ê } } Off(OUT_A+OUT_C); ClearTimer(0);
while (Timer(0) <=RUN_TIME9)¡¦¡¦¡¦© { if ((SENSOR_1 < THRESHOLD)&&(SENSOR_3 < THRESHOLD)) { OnFwd(OUT_A+OUT_C);//¡Ê¹õ¡¢¹õ¡ËÁ°¿Ê } if ((SENSOR_1 < THRESHOLD)&&(SENSOR_3 > THRESHOLD)) { OnRev(OUT_A);//¡Ê¹õ¡¢Çò¡Ë¿ÊÏ©½¤Àµ OnFwd(OUT_C); } if ((SENSOR_1 > THRESHOLD)&&(SENSOR_3 < THRESHOLD)) { Off(OUT_C);//(Çò¡¢¹õ)¤Î¤È¤¡¢±¦¼ÖÎؤò»ß¤á¤Æ¿ÊÏ©¤ò±¦¤Ë½¤Àµ¤·µÞ¥«¡¼¥Ö¤ò¶Ê¤¬¤ë OnFwd(OUT_A); } if ((SENSOR_1 > THRESHOLD)&&(SENSOR_3 > THRESHOLD)) { OnFwd(OUT_A+OUT_C); //¡ÊÇò¡¢Çò¡ËÁ°¿Ê } } Off(OUT_A+OUT_C); }