¡¡¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤¹¤ë¥í¥Ü¥Ã¥È †Programed by ÂÎÄ´ int dir; //ÊÑ¿ôdir¤òÀßÄê task main() { SetSensor(SENSOR_2,SENSOR_LIGHT); //¥»¥ó¥µ¡¼1¤ò¥é¥¤¥È¥»¥ó¥µ¡¼¤ËÄêµÁ OnFwd(OUT_A+OUT_C); //Á°¿Ê until(SENSOR_2 < 40); //¥é¥¤¥È¥»¥ó¥µ¡¼¤¬¹õ¤Î¥é¥¤¥ó¾å¤ËÅþ㤹¤ë dir = 1; //ÊÑ¿ôdir¤Ë1¤òÂåÆþ while (true) //°Ê²¼·«¤êÊÖ¤· { if(SENSOR_2 < 40) ¡¡//RCX¤¬¥é¥¤¥ó¾å¤Ë¤¢¤ë¾ì¹ç { OnFwd(OUT_A+OUT_C); ¡¡//Á°¿Ê until(SENSOR_2 > 40); ¡¡//¥é¥¤¥ó¤«¤é³°¤ì¤ë¤Þ¤ÇÂÔ¤Ä } while (dir == 1) ¡¡//ÊÑ¿ôdir¤¬1¤Î¾ì¹ç°Ê²¼·«¤êÊÖ¤·¡Ê¥×¥í¥°¥é¥à¡¡Ë ¡¡//ÊÑ¿ôdir¤¬1¤Î¾ì¹ç°Ê²¼·«¤êÊÖ¤·¡Ê¥×¥í¥°¥é¥à¡¡Ë { if((SENSOR_2 > 40) && (dir == 1)) ¡¡¡¡//RCX¤¬¥é¥¤¥ó¾å¤Ë¤Ê¤¤¤È¤ { OnRev(OUT_A); OnFwd(OUT_C); ¡¡¡¡//º¸²óž ClearTimer(0); until((SENSOR_2 < 40) || (Timer(0) == 5)); ¡¡¡¡//RCX¤¬¥é¥¤¥ó¾å¤ËÌá¤ë¤«0.5É÷ФĤޤÇÂÔ¤Ä if(SENSOR_2 < 40) ¡¡¡¡¡¡//RCX¤¬¥é¥¤¥ó¾å¤ËÌá¤Ã¤¿¾ì¹ç { OnFwd(OUT_A); ¡¡¡¡¡¡//Á°¿Ê¡¡¢Í¡¡¡¤Ë¹Ô¤¯ } else ¡¡¡¡¡¡//0.5Éú¸²óž¤·¤Æ¤âRCX¤¬¥é¥¤¥ó¾å¤Ë¤Ê¤¤¾ì¹ç { OnFwd(OUT_A); OnRev(OUT_C); ¡¡¡¡¡¡//±¦²óž until(SENSOR_2 < 40); ¡¡¡¡¡¡//RCX¤¬¥é¥¤¥ó¾å¤ËÌá¤ë¤Þ¤ÇÂÔ¤Ä OnFwd(OUT_C); ¡¡¡¡¡¡//Á°¿Ê dir = 2; ¡¡¡¡¡¡//ÊÑ¿ôdir¤Ë2¤òÂåÆþ¡¡¢Í¡¡¢¤Ë¹Ô¤¯ } } while (dir == 2) ¡¡//ÊÑ¿ôdir¤¬2¤Î¾ì¹ç°Ê²¼·«¤êÊÖ¤·¡Ê¥×¥í¥°¥é¥à¢¡Ë { if((SENSOR_2 > 40) && (dir == 2)) ¡¡¡¡//RCX¤¬¥é¥¤¥ó¾å¤Ë¤Ê¤¤¤È¤ { OnFwd(OUT_A); OnRev(OUT_C); ¡¡¡¡//±¦²óž ClearTimer(0); until((SENSOR_2 < 40) || (Timer(0) == 5)); ¡¡¡¡//RCX¤¬¥é¥¤¥ó¾å¤ËÌá¤ë¤«0.5É÷ФĤޤÇÂÔ¤Ä if(SENSOR_2 < 40) ¡¡¡¡¡¡//RCX¤¬¥é¥¤¥ó¾å¤ËÌá¤Ã¤¿¾ì¹ç { OnFwd(OUT_C); ¡¡¡¡¡¡//Á°¿Ê¡¡¢Í¡¡¢¤Ë¹Ô¤¯ } else ¡¡¡¡¡¡//0.5Éú¸²óž¤·¤Æ¤âRCX¤¬¥é¥¤¥ó¾å¤Ë¤Ê¤¤¾ì¹ç { OnFwd(OUT_C); OnRev(OUT_A); ¡¡¡¡¡¡//º¸²óž until(SENSOR_2 < 40); ¡¡¡¡¡¡//RCX¤¬¥é¥¤¥ó¾å¤ËÌá¤ë¤Þ¤ÇÂÔ¤Ä OnFwd(OUT_A); ¡¡¡¡¡¡//Á°¿Ê dir = 1; ¡¡¡¡¡¡//ÊÑ¿ôdir¤Ë1¤òÂåÆþ¡¡¢Í¡¡¡¤Ë¹Ô¤¯ } } } } } } ¡¡¤³¤Î¥×¥í¥°¥é¥à¤Ç¤Ï¡¢¸÷¥»¥ó¥µ¡¼¤¬¥é¥¤¥ó¾å¤Ë¤¢¤ë¾ì¹ç¤ÏÁ°¿Ê¤·¡¢ |