Ìܼ¡°ìÍ÷
»æ¥Ñ¥Ã¥¯¤ò¼ý½¸¤·¤ÆÌÜŪÃϤޤDZ¿¤ÓÀѤ߾夲¤ë
°ìÈֺǽé¤ËÀ½ºî¤·¤¿¥í¥Ü¥Ã¥È¡£
¸å¤í¤ËRCXËÜÂΤòÀßÃÖ¤·¤Æ¥Ð¥é¥ó¥¹¤òÀ°¤¨¤¿¤¬¡¢Á´ÂÎŪ¤Ë½Å¤¤¤¿¤áÆ°¤«¤·¤Ë¤¯¤¤¤Î¤È¡¢°ìÂæ¤Ç»ý¤Á±¿¤ó¤ÇÀѤ߾夲¤ë¤Î¤Ï̵Íý¤¬¤¢¤ë¤ÈȽÃǤ·¡¢¼ºÇÔºî¤È¤·¤Æ¥í¥Ü¥³¥ó¤Ë¤Ï»È¤ï¤ì¤Ê¤«¤Ã¤¿¤¬¡¢¥Á¡¼¥àÆâ¤Î¥¢¥¤¥Ç¥¢¤¬µÍ¤Þ¤Ã¤Æ¤ª¤ê¡¢¿Í·¿¥í¥Ü¥Ã¥È¤Î·Á¤ò¤·¤¿Âç·¿¥í¥Ü¥Ã¥È¤Ë¤ÏÆÈÆäΥæ¥Ë¡¼¥¯¤µ¤¬¤¢¤Ã¤Æ¡¢º£¸å¤ÎÎɤ¤»²¹ÍºîÉʤȤʤä¿¡£
¤³¤Î¥í¥Ü¥Ã¥È¤Ë¤Ï¡¢µíÆý¥Ñ¥Ã¥¯¤ò¶´¤ó¤Ç»ý¤Á¾å¤²¤ëÆ°ºî¤ÈµíÆý¥Ñ¥Ã¥¯¤ò²¡¤¹Æ°ºî¤È¥¢¡¼¥àÁ´ÂΤò²£¤ËÆ°¤«¤¹Æ°ºî¤¬°ìÅ٤ˤǤ¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢»ý¤Á¾å¤²¤Æ¤«¤éÀѤ߾夲¤ë¤Þ¤Ç¤ÎÆ°ºî¤ò°ìÂæ¤Ç¹Ô¤¨¤ë¤è¤¦¤Ë¤·¤¿¡£
»ý¤Á¾å¤²¤ëÆ°ºî¤Ï°Ê²¼¤ÎÄ̤ê
¶´¤àÉôʬ¤Ï¥Ç¥£¥Õ¥¡¥ì¥ó¥·¥ã¥ë¥®¥¢¤ò»ÈÍÑ¡£¸ß¤¤¤ÎË໤¤Î°ã¤¤¤Ë¤è¤Ã¤Æ°ìµ¤¤Ë¶´¤Þ¤º¡¢ÊÒ¤Ãü¤«¤éÆ°ºî¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£»ý¤Á¾å¤²¤ë¤Î¤ÏÊ¿¹Ô¥¯¥é¥ó¥¯µ¡¹½¤òÍøÍѤ·¤Æ¡¢¿âľ¤ÊÊý¸þ¤Ë»ý¤Á¾å¤²¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
²¡¤¹Æ°ºî¤Ï°Ê²¼¤ÎÄ̤ê
¾®¤µ¤¤¥®¥¢¤È¥é¥Ã¥¯¡Ê¥®¥¶¥®¥¶¡Ë¤ÈÇò¤¤Åû·¿¤Î¥Ñ¡¼¥Ä¤òÍѤ¤¤Æ¡¢Á°Êý¤Ë¿åÊ¿¤Ë²¡¤»¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
¥¢¡¼¥àÁ´ÂΤòÆ°¤«¤¹Æ°ºî¤Ï°Ê²¼¤ÎÄ̤ê
»ý¤Á¾å¤²¤ëÉôʬ¤Ë¥é¥Ã¥¯¡Ê¥®¥¶¥®¥¶¡Ë¤òÍѤ¤¤Æ¡¢¥â¡¼¥¿¡¼¤Ç²£¤ËÆ°¤«¤»¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
ÆóºîÌܤΥí¥Ü¥Ã¥È¡£
°ìºîÌܤǤϰìÂæ¤Ç¤¹¤Ù¤Æ¤ÎÆ°ºî¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤¿¤¬¡¢ÆóºîÌܤǤϤ³¤Î°ìÂæ¤òÆóÂæ¤ËʬΥ¤¹¤ë·Á¤Ç¡¢°ìÂæ¤ËÂФ¹¤ëÌò³ä¤ò·Ú¸º¤·¤¿¡£º¸¤Î²èÁü¤¬¥Ö¥í¥Ã¥¯¤ò°ú¤ÃÄ¥¤Ã¤ÆÌÜŪÃϤޤDZ¿¤Ö¥í¥Ü¥Ã¥È¤Ç¡¢±¦¤Î²èÁü¤¬±¿¤Ð¤ì¤¿¥Ö¥í¥Ã¥¯¤ò¾å¤Ë»ý¤Á¾å¤²¤ÆÀѤ߾夲¤ë¥í¥Ü¥Ã¥È¤Ç¤¢¤ë¡£
¥Ö¥í¥Ã¥¯¤ò±¿¤Ö»ÅÁȤߤϰʲ¼¤ÎÄ̤ê (²èÁü¤¬ÀÚ¤êÂؤï¤ê¤Þ¤¹¡Ë
¥Ö¥í¥Ã¥¯¤òÀѤ߾夲¤ëÆ°ºî¤Ï°Ê²¼¤ÎÄ̤ꡡ¡¡¡¡(²èÁü¤¬ÀÚ¤êÂؤï¤ê¤Þ¤¹¡Ë
¥Ö¥í¥Ã¥¯¤Ï¤¤¤Ä¤â°ã¤¦ÇÛÃ֤ʤΤǡ¢¥Ö¥í¥Ã¥¯¤ò¼è¤ë¤¿¤Ó¤ËxyzºÂɸ¤¬Æþ¤ìÂؤï¤ë¤³¤È¤Ç¡¢¤¢¤é¤æ¤ëÇÛÃ֤Υ֥í¥Ã¥¯¤ò¼è¤ë¤³¤È¤¬¤Ç¤¤ë¡£¤Þ¤¿¡¢¼þ¤ê¤ÎÊɤòÍøÍѤ·¤Æ¤ï¤¶¤È¸å¤í¤Ë²¼¤¬¤ë¤³¤È¤Ç¡¢¿Ê¤à¸þ¤¤ò¤Þ¤Ã¤¹¤°¤Ë¤½¤í¤¨¤Æ¤¤¤ë¡£
½ç¤ËÀÄ¿§¢ª¿å¿§¢ªÎп§¢ª²«¿§¢ªÅí¿§¡¡¤Ç¤¹¡£¤³¤Î¸å¤ÏÎп§¢ª²«¿§¢ªÅí¿§¤ò·«¤êÊÖ¤¹¤È¸«¤Æ¤â¤é¤¨¤ì¤Ð¡£
±Ñ»ú¤ÏÊÑ¿ô¤¬»È¤ï¤ì¤ëÉôʬ
#define rota abs(SENSOR_1) //²óž¥»¥ó¥µ¡¼¤ÎÀäÂÐÃͤò¼è¤ê¤Þ¤¹ #define senb SENSOR_2 //¥Ö¥í¥Ã¥¯¡Ê»æ¥Ñ¥Ã¥¯¡Ë¤Ë»ÈÍѤ¹¤ë¸÷¥»¥ó¥µ¡¼¤Ç¤¹ #define senl SENSOR_3 //¥é¥¤¥ó¥È¥ì¡¼¥¹¤Ë»ÈÍѤ¹¤ë¸÷¥»¥ó¥µ¡¼¤Ç¤¹ #define zero ClearSensor(SENSOR_1); //²óž¥»¥ó¥µ¡¼¤ÎÃͤò£°¤Ë¤·¤Þ¤¹ #define AAAL ClearSensor(SENSOR_1);until( abs(SENSOR_1) > 260); //²óž¥»¥ó¥µ¡¼¤Ç£¹£°Åٶʤ¬¤ë¤È¤¤Ë»È¤¤¤Þ¤¹¡£Ê¸»ú¤Ë°ÕÌ£¤Ï¤Ê¤· #define AAAR ClearSensor(SENSOR_1);until( abs(SENSOR_1) > 240); //ºÇ½é¤Î²óž¤Î»þ¡¢¤Ê¤¼¤«¾å¤ÎÃͤǤ϶ʤ¬¤ê¤¹¤®¤ë¤Î¤Ç #define siro 49 //Çò¥Ö¥í¥Ã¥¯¤òȽÃǤ¹¤ë¤¿¤á¤ÎÃͤǤ¹ #define kuro 36 //¹õ¥Ö¥í¥Ã¥¯¤òȽÃǤ¹¤ë¤¿¤á¤ÎÃͤǤ¹ #define line 45 //¥é¥¤¥ó¤òȽÃǤ¹¤ë¤¿¤á¤ÎÃͤǤ¹ #define fwdr OnFwd(OUT_C); //±¦ÀÞ #define fwdl OnFwd(OUT_A); //º¸ÀÞ #define fwdw OnFwd(OUT_AC); //Á°¿Ê #define revr OnRev(OUT_C); //¸å¿Ê±¦ÀÞ #define revl OnRev(OUT_A); //¸å¿Êº¸ÀÞ #define revw OnRev(OUT_AC); //¸å¿Ê #define ueni OnFwd(OUT_B);Wait(140);Off(OUT_B); //¥Ö¥í¥Ã¥¯¤òÍÞ¤¨¤ë¥¢¡¼¥à¤ò¾å¤²¤Þ¤¹ #define sita OnRev(OUT_B);Wait(136);Off(OUT_B); //¥Ö¥í¥Ã¥¯¤òÍÞ¤¨¤ë¥¢¡¼¥à¤ò²¼¤²¤Þ¤¹ #define time Off(OUT_AC);Wait(50); //¹ç´Ö¹ç´Ö¤ËÄä»ß»þ´Ö¤òÆþ¤ì¤¿Êý¤¬Àµ³Î¤Ê¤Î¤Ç¤Þ¤È¤á¤Æ¤¢¤ê¤Þ¤¹ #define otoA PlaySound(SOUND_UP); //²»¤òÌĤ餷¤Þ¤¹ int phase=1; //¥Ö¥í¥Ã¥¯¤Ï±¿¤Ö¤Î¤¬²¿²óÌܤ«¤òɽ¤·¤Æ¤¤¤Þ¤¹ int i=1; //for¡Ê·«¤êÊÖ¤·¡Ë¤Î»þ¤Ë»È¤¤¤Þ¤¹¡Ë void angle(int t){ //²óž¥»¥ó¥µ¡¼¤ÇǤ°Õ¤Î³ÑÅÙ¡¢µ÷Î¥¤ò¬¤ë¤È¤¤Ë»È¤¦´Ø¿ô¤Ç¤¹ ClearSensor(SENSOR_1);until( abs(SENSOR_1) > t); } void senl_traceR(int t){ //¥Ö¥í¥Ã¥¯¤Ë¶á¤Å¤¯»þ¤Î´Ø¿ô¤Ç¤¹¡£ºÇ½é¡¢¥é¥¤¥ó¥È¥ì¡¼¥¹¤ò¤·¤Æ¤¤¤¿»þ¤Î̾Á°¤òÊѤ¨Ëº¤ì¤Æ¤¤¤Þ¤¹¡£ revw;angle(700);otoA; //¤Þ¤º¤¢¤ëÄøÅÙ²¼¤¬¤Ã¤Æ¤«¤é revw;Wait(320);time; //¸å¤í¤ÎÊɤˤ֤Ĥ«¤ê¤Þ¤¹¡Ê¡¡Ë fwdw;angle(t);time; //£ô¤À¤±Á°¿Ê¤·¤¿¸å revr;AAAL;time; //¤Ö¤Ã¤í¤¯¤ÎÊý¤Ë¸þ¤¤Þ¤¹ } void attack_lamp(int t){ //ºÇ½é¼ÙËâ¤Ê¥é¥ó¥×¤ò¤É¤«¤¹»þ¤Ë»È¤¦´Ø¿ô¤Ç¤¹ fwdr;AAAR;time;ueni; //½é´ü°ÌÃÖ¤«¤é90ÅÙ±¦ÀÞ¤·¤¿¤Î¤Á¥¢¡¼¥à¤ò¾å¤²¤Þ¤¹¡ÊÊɤ˥¢¡¼¥à¤¬¤Ö¤Ä¤«¤ë¤ó¤òËɤ°¤¿¤á¡Ë fwdw;Wait(100);until(senl < line);until(senl > line); angle(50);time; //angle(50);¤ÏÈùÄ´À° fwdl;until(senl < line);time; //¥é¥¤¥ó¤Þ¤ÇÍ褿¤é¤Û¤Ü90ÅÙº¸ÀÞ¤·¤Þ¤¹ zero; while(rota < t){ //¥é¥¤¥ó¥È¥ì¡¼¥¹¤Ç¤¢¤ëÄøÅ٤ޤǿʤߤޤ¹ if(senl < line) {Off(OUT_AC);fwdr;} else {Off(OUT_AC);fwdl;} } time;otoA;sita; //¥¢¡¼¥à¤ò²¼¤²¤Æ¥é¥ó¥×¤ò²¡¤¹½àÈ÷¤ò¤·¤Æ¤¤¤Þ¤¹ fwdw;angle(1700);time; //¤³¤ÎÁ´¿ÈÅÓÃæ¤Ç¥é¥ó¥×¤Ë¤Ö¤Ä¤«¤ê¤Þ¤¹ revw;angle(340);time;ueni; //¥¢¡¼¥à¤ò¾å¤²¤Æ¥Ö¥í¥Ã¥¯¤ò¤È¤ë½àÈ÷¤ò¤·¤Æ¤¤¤Þ¤¹ revr;AAAL;time; } void approach_block(int t){ //¥Ö¥í¥Ã¥¯¤Ë¶á¤Å¤¯¢ª¼è¤ë¢ªÎ¥¤ì¤ë¤ò¤·¤Æ¤¤¤Þ¤¹ revw;Wait(250);time; //¤Þ¤º¸å¤í¤ÎÊɤËÅö¤Æ¤Æ³ÑÅÙ¤òÀµ¤·¤Þ¤¹¡Ê¢¡Ë fwdw;angle(270);time;otoA; //¥Ö¥í¥Ã¥¯¤Ë¶á¤Å¤¯ fwdw;angle(t); //¸÷¥»¥ó¥µ¡¼¤Ç¥Ö¥í¥Ã¥¯¤¬¼êÁ°¤Ë¤¢¤ë¤«È½ÃǤ·¤Þ¤¹ if(phase==3 || phase==4){until(senb < kuro);} //3,4²óÌܤϹõ¥Ö¥í¥Ã¥¯¤¬Íè¤Þ¤¹ else {until(senb > siro);} //¤½¤ì°Ê³°¤ÏÇò¥Ö¥í¥Ã¥¯¤Ç¤¹ time;zero; sita;revw;angle(t);time; //¥¢¡¼¥à¤ò²¼¤²¤Æ¥Ö¥í¥Ã¥¯¤òÍÞ¤¨¤Ä¤±¤¿¤Î¤Á¥Ð¥Ã¥¯¤·¤Þ¤¹ } void come_back(int t){ //¥Ö¥í¥Ã¥¯¤òÀѤ߾夲¾ì½ê¤Þ¤Ç°ÜÆ°¤µ¤»¤Þ¤¹ revr;AAAL;time; //ÀѤ߾夲¾ì½ê¤Þ¤Ç°ÜÆ°¤·¤Þ¤¹¡Ê¡ö¤Þ¤Ç¡Ë fwdw;angle(t);time; if(phase != 4){ for(i=1; i<=5; i++){SendMessage(11);Wait(16);}} //ÄÌ¿®¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡Ê£¡Ë else{ for(i=1; i<=5; i++){SendMessage(12);Wait(16);}} //ºÇ¸å¤Ï°ã¤¦¤â¤Î¤òÁ÷¿®¤·¤Þ¤¹ fwdr;AAAL;time; //¡ö revw;Wait(400); //¸å¤í¤ÎÊɤˤ֤Ĥ«¤ê³ÑÅÙ¤òÀµ¤·¤Þ¤¹¡Ê¤¡Ë fwdw;angle(370);time;ueni; //¤½¤Î¤Þ¤Þ»ý¤Ã¤Æ¤¤¤¯¤È¥¢¡¼¥à¤¬ÀѤ߾夲¤Î¥í¥Ü¥Ã¥È¤Ë revw;angle(350);time;sita; //¤Ö¤Ä¤«¤ë¤Î¤Ç¸å¤í¤«¤é¥¢¡¼¥à¤Ç²¡¤·¹þ¤ß¤Þ¤¹ fwdw;angle(450);until(senl < line);time;//ÀѤ߾夲¾ì½ê¤Þ¤Ç»ý¤Ã¤Æ¤¤¤¤Þ¤¹ revw;angle(50);until(senl < line);time; //²¼¤¬¤ê¤Þ¤¹ fwdr;AAAR;time;ueni; } task main(){ int x; //x¡§¥Ö¥í¥Ã¥¯¤Ë¶á¤Å¤¯»þ¤Îµ÷Î¥µ int y; //y¡§¥Ö¥í¥Ã¥¯¤Ë¶á¤Å¤¯»þ¤Îµ÷Î¥¶ int z; //z¡§¥Ö¥í¥Ã¥¯¤ò±¿¤Ö»þ¤Îµ÷Î¥ SetSensor(SENSOR_1,SENSOR_ROTATION); SetSensor(SENSOR_2,SENSOR_LIGHT); SetSensor(SENSOR_3,SENSOR_LIGHT); attack_lamp(780); while(phase<=4){ if(phase==1){y=230;z=1830;} if(phase==2){x=3350;y=130;z=2190;} if(phase==3){x=2985;y=350;z=1790;} if(phase==4){x=3355;y=350;z=2205;} if(phase==5){x=2985;y=500;z=1790;} if(phase==6){x=3355;y=500;z=2295;} //ÀѤ߾夲¥í¥Ü¥Ã¥È¤¬»ý¤Á¾å¤²¤ë¤³¤È¤¬¤Ç¤¤ë¤Î¤Ê¤é¤Ð6²ó¡ß2¸Ä¡á12¸ÄÁ´ÉôÀѤ߾夲¤ì¤ë¤Î¤Ç¿ôÃͤÀ¤±¤ÏÆþ¤ì¤Æ¤¢¤ê¤Þ¤¹¡£ if(phase!=1){senl_traceR(x);} //phase=1¤Ïattack_lamp¤Ç¥Ö¥í¥Ã¥¯¤Ë¶á¤Å¤¤Þ¤¹¡£ approach_block(y); come_back(z); phase++; } sita; //ºÇ½é¥¢¡¼¥à¤Ï²¼¤¬¤Ã¤Æ¤¤¤ë¤Î¤ÇºÇ¸å¤â¤½¤¦¤·¤Þ¤¹¡£ }
sub up() {OnFwd(OUT_C);Wait(765);Float(OUT_C);Wait(20);Off(OUT_ABC);} sub down() {OnRev(OUT_C);Wait(200);Float(OUT_C);} sub cat() {OnFwd(OUT_A);Wait(115);Off(OUT_A);} sub hanasu() {OnRev(OUT_A);Wait(100);Float(OUT_A);Wait(20);} task main(){ ClearMessage(); SetPower(OUT_ABC,7); SetSensor(SENSOR_2,SENSOR_LIGHT); SetSensor(SENSOR_3,SENSOR_LIGHT); Off(OUT_BC); Wait(700);//¼è¤ê¤Ë¤¤¤¯¥í¥Ü¥Ã¥È¤¬½Ð¤Æ¹Ô¤¯¤Î¤òÂÔ¤Ä OnRev(OUT_B); Wait(120); while(true){ Off(OUT_ABC); if(Message()==11){//»ý¤Ã¤Æ¤¤¿¤È¤ PlaySound(SOUND_UP); Wait(2000);//»æ¥Ñ¥Ã¥¯¤òÆþ¤ì¤ëÂÔ¤Á»þ´Ö down(); Wait(230); Off(OUT_C); hanasu(); OnRev(OUT_C); Wait(130); Float(OUT_C); Wait(50); cat(); up(); ClearMessage(); } if(Message()==12){//½ª¤ï¤Ã¤¿¤È¤ PlaySound(SOUND_FAST_UP); Wait(2000); down(); Wait(230); Off(OUT_C); hanasu(); OnRev(OUT_B); Wait(500); Off(OUT_B); break; } } }
ºÇ¸å¤Ë¥³¥á¥ó¥È¤¬¤¢¤ê¤Þ¤·¤¿¤é²¿¤Ç¤â¤É¤¦¤¾¡ª