¥í¥Ü¥Ã¥È¤Î¸÷¥»¥ó¥µ¡¼¤òÍøÍѤ·¤Æ¡¢¿Þ¤Î¡Ö£Â¡×¤ÎÃÏÅÀ¤«¤é¡Ö£Á¡×¤ÎÃÏÅÀ¤Þ¤Ç ¹õÀþ¤òÄɤ¤¤Ê¤¬¤é°ÜÆ°¤¹¤ë¥é¥¤¥ó¥È¥ì¡¼¥¹¡£
ÅÓÃæµå¤ò¥¥ã¥Ã¥Á¤·¤ÆºÇ¸å¡¢£Á¤ËÀßÃÖ¤·¤Æ¤¢¤ë¥´¡¼¥ë¤Ëµå¤ò¥·¥å¡¼¥È¤¹¤ë¡£
Ä̾ï¤ÎľÀþ¡¢¶ÊÀþ¤Ç¤Ï¹õÀþ¤ÈÇò»æ¤Î¶³¦¤ò¹Ô¤Í褹¤ë¥×¥í¥°¥é¥à¤Ë¤è¤Ã¤Æ°ÜÆ°¤¹¤ë¤¬¡¢¤½¤ì¤Ç¤Ï±Û¤¨¤é¤ì¤Ê¤¤ÌäÂê¤Î¤¢¤Ã¤¿£³¤Ä¤ÎÆñ½ê¤Ë¤Ä¤¤¤Æ¤Ï¥«¥¦¥ó¥¿¡¼¤òÍѤ¤¤Æ¼±Ê̤·¡¢¤½¤ì¤¾¤ìÊ̤ÎÊýË¡¤Ç°ÜÆ°¤¹¤ë¤è¤¦¤Ë²áÄø¤òʬ¤±¤ë¤³¤È¤Ç¿Ê¤Þ¤»¤è¤¦¤È¤·¤¿¡£
¹õÀþ¤è¤ê¤Î¶³¦¤ò¹Ô¤Í褹¤ë¤è¤¦¤Ë¤·¤Æ¶ËÎÏ
¸òº¹ÅÀ¤ò½ª¤¨¤¿Éôʬ¤«¤é¤ÏÄ̾ï¤Î¥«¡¼¥Ö¤ÈľÀþ¤À¤±¤Ê¤Î¤Ç¸òº¹ÅÀ½ªÎ»¸å¤Ë¥¿¥¤¥Þ¡¼¤òµ¯Æ°¤¹¤ë¤³¤È¤ÇÀµ³Î¤Ëµ¯Æ°¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£
¥í¥Ü¥Ã¥È¤ÎºîÀ®¤ÏÉÕ°¤ÎÀâÌÀ½ñ¤Ë¤¢¤ë¥é¥¤¥ó¥È¥ì¡¼¥µ¡¼¤Ë¥»¥ó¥µ¡¼¤È¥â¡¼¥¿¡¼¤Îµ÷Î¥¤ò¶á¤¯¤·¤Æ¤è¤êÀµ³Î¤ËÆ°¤¯¤è¤¦¤Ë²þÎɤò»Ü¤·¡¢¥¢¡¼¥à¤ò¼è¤êÉÕ¤±¤ë¤¿¤á¤Î²þ¤¤ò»Ü¤·¤¿¡£¸å¤í¤Ë¼çµ¡¡¢¥â¡¼¥¿¡¼2¤Ä¤¬½¸¤Þ¤Ã¤Æ¤¤¤ë¤¿¤á¸åÊý¤Ë½Å¤µ¤¬ÊФäƤ¤¤ëÌäÂ꤬¤¢¤ë¡£¤³¤ì¤ÏÁö¹Ô¤Ë±Æ¶Á¤¬¤¢¤ë¤Û¤É¤Ç¤Ï¤Ê¤«¤Ã¤¿¤Î¤Ç¤½¤Î¤Þ¤Þ¤Ë¤·¤¿¤¬Á°ÎؤθÇÄ꤬¤ꤺ¤¿¤Þ¤Ë³°¤ì¤Æ¤·¤Þ¤¦ÌäÂ꤬¤¢¤Ã¤¿¡£¤³¤Î¸¶°ø¤Ï¥Ñ¡¼¥ÄÉÔ¤À¤¬¸åÎؤÎÆ°¤¤¬Îɤ¯¡¢ÉÑÅÙ¤âÄ㤫¤Ã¤¿¤Î¤ÇÊüÃÖ¤·¤¿¡£
¥¯¥ï¥¬¥¿¤Î³Ü¤Î¤è¤¦¤Ê·Á¤Î¥¢¡¼¥à¡£¤â¤Ã¤È¤â¶ìÏ«¤·¤¿¤Î¤Ï¤³¤Î¥¢¡¼¥à¤Î¼è¤êÉÕ¤±¤Ç¼çµ¡¤òÉÕ¤±ÊѤ¨¡¢¤½¤Î¥¹¥Ú¡¼¥¹¤Ë¥â¡¼¥¿¡¼¤òÆþ¤ì¤ÆÁ°¤Ë½Ð¤¹¤®¤º¸ÇÄê¤Ç¤¤¿¡£
¤³¤Î¥¢¡¼¥à¤ÎÍøÅÀ¤Ï¥®¥¢¤Î³ú¤ß¹ç¤ï¤»¤¬¤·¤Ã¤«¤ê¤È¤·¤Æ¤¤¤Æ°ÂÄꤷ¤Æ¤¤¤ë¤³¤È¤È¡¢Â礤¯¤Ï¤µ¤ß¤³¤à¤¿¤á¾¯¡¹¤º¤ì¤¿¤È¤·¤Æ¤âÌäÂê¤Ê¤¯Æ°ºî¤¹¤ë¤³¤È¡¢½Ä¤ËÉý¤ò»ý¤¿¤»¤Æµå¤¬¤¹¤êÈ´¤±¤Ê¤¤¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë»ö¤Ç¤¢¤ë¡£
¤µ¤Þ¤¶¤Þ¤ÊÊý¸þ¤Ë°ÜÆ°¤¹¤ë¼çµ¡¤Î°ÜÆ°¤Ë¤Ä¤¤¤Æ¤¤¤¯¤¿¤á¤Î¸åÎØ¡£360ÅÙ²óž¤Ç¤¡¢¤É¤ó¤Ê°ÜÆ°¤ËÂФ·¤Æ¤âÆ°ºî¤¹¤ë»ö¤¬½ÐÍè¤ë¡£ÆñÅÀ¤È¤·¤Æ¤ÏÆÃÄê¤Î¥Ñ¡¼¥Ä¤ò»È¤¤¤¹¤®Á°ÎØÉÔ°ÂÄê¤Ë¤Ä¤Ê¤¬¤Ã¤¿ÅÀ¡£
ÍÍ¡¹¤ÊÌäÂꤽ¤·¤Æ²ò·è¤Î¤¿¤á¤ÎÊýË¡¤â¿ÍͲ½¤·¤¿¤¿¤áÁ°²ó¤ÈÈæ¤Ùʪ¤Ë¤Ê¤é¤Ê¤¤Ê£»¨¤µ¤È¤Ê¤Ã¤¿¡£Á´ÂΤȤ·¤Æ¤Ï¥µ¥ó¥×¥ë¤Î¸òº¹ÅÀ¤òÅϤë¥×¥í¥°¥é¥à¤ò»²¹Í¤Ë¤·¤Ä¤Ä¡¢Á´ÂΤò
¡Ä¾³Ñ¥«¡¼¥Ö¤Þ¤Ç
¢¸òº¹ÅÀµ¤Þ¤Ç
£¸òº¹ÅÀ¶¤Þ¤Ç
¤ºÇ¸å¤Î¶ÊÀþ¤«¤é¥·¥å¡¼¥È¤Þ¤Ç
¤Î3¤Ä¤Î¥»¥¯¥·¥ç¥ó¤Ëʬ¤±¤Æ¼è¤êÁȤó¤À¡£
Ť¤¥×¥í¥°¥é¥à¤È¤Ê¤Ã¤¿¤¿¤á°Ê²¼¤Î¤è¤¦¤Ê¿¤¯¤ÎÄêµÁ¤òÍѤ¤¤¿¡£
#define Lblack 30 //°Å¤¤¹õ #define Sblack 38//Çö¤¤¹õ #define Lwhite 60 ¡¡//ÌÀ¤ë¤¤Çò #define Swhite 52 //°Å¤á¤ÊÇò #define SPEED_ST 40//ľÀþ¤Ç¤Î®ÅÙ #define SPEED_CR 25//¶ÊÀþ¤Ç¤Î®ÅÙ #define OnRL(sR,sL) OnFwd(OUT_B,sR);OnFwd(OUT_C,sL); //º¸Â®ÅÙs£Ì¡¢±¦Â®ÅÙs£Ò¤Ç¤Î°ÜÆ° #define go_ST OnRL(SPEED_ST,SPEED_ST); //ľ¿Ê #define turn_L0 OnRL(SPEED_CR,0);//º¸ÀÞ #define turn_L1 OnRL(SPEED_CR,-SPEED_CR); //º¸Àû²ó¡¡¡¡ #define turn_R0 OnRL(0,SPEED_CR);//±¦ÀÞ #define turn_R1 OnRL(-SPEED_CR,SPEED_CR);//±¦Àû²ó #define STEP 1 #define OTO PlaySound(SOUND_UP);¡¡//Æ°ºî³ÎǧÍѤβ» #define ARMOPEN RotateMotor(OUT_A,40,90);¡¡//¥¢¡¼¥à³« #define ARMCLOSE RotateMotor(OUT_A,-40,90);//¥¢¡¼¥àÊÄ #define KOUSATEN1 Off(OUT_BC);ARMCLOSE;RotateMotor(OUT_BC,40,100);OTO;//ºÇ½é¤Î¸òº¹ÅÀ¤ÎÆ°ºî #define KOUSATEN2 Off(OUT_BC);RotateMotor(OUT_BC,40,100);OTO;//ÆóÈÖÌܤθòº¹ÅÀ¤Ç¤ÎÆ°ºî #define SHOT OTO;OnFwd(OUT_BC,80);Wait(2500);//¥·¥å¡¼¥È
task main(){ SetSensorLight(S3); //¥»¥ó¥µ¡¼µ¯Æ° int white=0;//Çò¸¡½Ð²ó¿ô¤ÎÊÑ¿ôÄêµÁ while(white==0){ if(SENSOR_3<Lblack){ turn_R0;//Àþ¤ÎÆ⦤ޤÇÍè¤Æ¤·¤Þ¤Ã¤¿¤È¤¤Á¤ç¤Ã¤È±¦¤Ë } else if(SENSOR_3<Sblack){ go_ST;//¶³¦¶á¤¯¤Î¹õÀþ¤Ë¤¢¤ë¤È¤¤½¤Î¤Þ¤Þ¿¿¤Ãľ¤° } else if(SENSOR_3<Swhite){ turn_L1;//¶³¦¶á¤¯¤ÎÇò»æ¦¤Ë¤¢¤ë¤È¤Àû²ó¤·¤Æº¸¤Ë } else if(SENSOR_3<Lwhite){//ÌÀ¤ë¤¤Çò¤ò¸¡½Ð¤·¤¿¤é¡¤ÎÆ°ºî¤Î¥×¥í¥°¥é¥à¤òµ¯Æ° go_ST;//1.ľ¿Ê Wait(100); RotateMotor(OUT_B,40,100);//2,ľ³Ñ¤Ë¹ç¤ï¤»Àû²ó¤·¤ÆÊý¸þž´¹ RotateMotor(OUT_C,-40,100); white++;//3,ÊÑ¿ô¤ÎÃͤòÁý¤ä¤·¼¡¤Î¥×¥í¥°¥é¥à¤¬µ¯Æ°¤¹¤ë¤è¤¦¤Ë¤¹¤ë } Wait(STEP); }¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ while(white==1){//¸òº¹ÅÀµ¤òÄ̲᤹¤ë¤Þ¤Ç¤ÎÆ°ºî ¡¡ if(SENSOR_3<Lblack){//¸òº¹ÅÀ¤ÈȽÃǤ·Æ°ºî¤ò³«»Ï ¡¡ KOUSATEN1;//¸òº¹ÅÀµ¤òÄ̲᤹¤ëÆ°ºî ¡¡ white++;//ÊÑ¿ô¤ÎÃͤòÁý¤ä¤·¼¡¤Î¥×¥í¥°¥é¥à¤¬µ¯Æ°¤¹¤ë¤è¤¦¤Ë¤¹¤ë ¡¡ } ¡¡ else if(SENSOR_3<Sblack){//Àþ¤ÎÆ⦶᤯¤Ê¤Ã¤¿¤È¤±¦¤ËÀû²ó°ÜÆ° ¡¡ turn_R1; } ¡¡ else if(SENSOR_3<Swhite){//³°Â¦¤è¤ê¤Î¶³¦¤ò¿Ê¤à ¡¡ go_ST; ¡¡} ¡¡ else if(SENSOR_3<Lwhite){//³°Â¦¤ËÈ¿¤ì¤¿¤È¤º¸¤Ë°ÜÆ° ¡¡ turn_L0;
¡¡ }
¡¡ Wait(STEP);
¡¡ }
long t0=CurrentTick();//¸òº¹ÅÀµ¤òÄ̲ᤷ¤Æ¤«¤é¤Î»þ´Ö¤ò·×¬ while(white=2){ if(SENSOR_3<Lblack&&CurrentTick()-t0>11000){//µ¤òÄ̲ᤷ11É÷ФÁÇ»¤¤¹õ¤ò¸¡½Ð¤·¤¿¤é¸òº¹ÅÀ¶¤È¤ß¤Ê¤¹ ¡¡ KOUSATEN2;//¸òº¹ÅÀ¶¤ò°ÜÆ° ¡¡ white++;//ÊÑ¿ô¤ÎÃͤòÁý¤ä¤·¼¡¤Î¥×¥í¥°¥é¥à¤¬µ¯Æ°¤¹¤ë¤è¤¦¤Ë¤¹¤ë } ¡¡ else if(SENSOR_3<Sblack){//white==1¤Î»þ¤ÈƱ¤¸°ÜÆ°¤ò¤¹¤ë turn_R1; ¡¡ } ¡¡ else if(SENSOR_3<Swhite){//white==1¤Î»þ¤ÈƱ¤¸°ÜÆ°¤ò¤¹¤ë ¡¡ go_ST; ¡¡ } ¡¡ else if(SENSOR_3<Lwhite){//white==1¤Î»þ¤ÈƱ¤¸°ÜÆ°¤ò¤¹¤ë ¡¡ turn_L0; ¡¡ } ¡¡ Wait(STEP); ¡¡ } long t1=CurrentTick();//¸òº¹ÅÀ¶¤òÄ̲ᤷ¤Æ¤«¤é¤Î»þ´Ö¤ò·×¬ while(white==3&&CurrentTick()-t1>10000){//10É÷ФĤޤÇÄ̾ï¤Î¥é¥¤¥ó¥È¥ì¡¼¥¹ if(SENSOR_3<Lblack){ turn_R1; } else if(SENSOR_3<Sblack){ turn_R0; } else if(SENSOR_3<Swhite){ go_ST; } else if(SENSOR_3<Lwhite){ turn_L0; } Wait(STEP); } SHOT;//¥·¥å¡¼¥È¡ª }
Á°²ó¤È¤ÏµÕ¤ËºîÀ®¤è¤ê¤â¥×¥í¥°¥é¥ß¥ó¥°¤ÇÈó¾ï¤Ë¶ì¤·¤ó¤À¡£
Îã¤Ç²ò·èÊýË¡¤¬¿§¡¹¼¨¤µ¤ì¤Æ¤¤¤¿¤â¤Î¤Î¤½¤Î¤Þ¤Þ¤Ç¤ÏÀµ³Î¤ËÆ°¤«¤º¡¢ºÇ½ªÅª¤ËÁ´ÂΤòºÙ¤«¤¯¶èÀڤäƸíºîÆ°¤ò¾¯¤Ê¤¯½ÐÍ褿¤â¤Î¤ÎŤ¯¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¤Î¤¬¿´»Ä¤ê¤À¤Ã¤¿¡¢
¤·¤«¤·¡¢¿·¤¿¤Ê¥³¥Þ¥ó¥É¤ÎÊýË¡¤ò¿¤¯³Ø¤Ù¡¢ÌäÂê¤ËÂФ·¤Æ¤âÍÍ¡¹¤Ê¥¢¥×¥í¡¼¥Á¤¬½ÐÍ衢¾¤ÎÈÉ°÷¤È°Õ¸«¤ò¸ò´¹¤·°ì½ï¤Ë¶¨ÎϤ·¤Æ¼è¤êÁȤ᤿¤Î¤Ï¤¤¤¤ÅÀ¤À¤Ã¤¿¡£
¡¡ ¤½¤ÎÅÀ¤Ï¼¡²ó¤Ë¤â°ú¤Â³¤¼è¤êÁȤó¤Ç¤¤¤¤¿¤¤¡£