¥í¥Ü¥Ã¥ÈôÅö¤ÎÁêÊý¤¬ºî¤Ã¤Æ¤¯¤ì¤¿µ¡ÂΡ£¥é¥¤¥È¥»¥ó¥µ¡¼¤Î°ÌÃÖ¤ò¼ÖÂΤ˶á¤Å¤±¤Æ¥¢¡¼¥à¤¬½Ð¤ÃÄ¥¤ê¤Ë¤¯¤¤¤è¤¦¤Ë¤·¤¿¤ê¡¢ËÜÂΤò½Ä¤Ë¤·¤Æ¥³¥ó¥Ñ¥¯¥È¤Ë¤·¤Æ¤¢¤ë¡£ ¤Þ¤¿¡¢¼ÁÎ̤ÎÂ礤¤¥â¡¼¥¿¡¼¤ò¤Ç¤¤ë¸Â¤êÄã°ÌÃÖ¤ËÀßÃÖ¤·¤Æ½Å¿´¤¬Ä㤯¤Ê¤ë¤è¤¦ ¤Ë¤¹¤ë¤Ê¤É¤Î¹©Éפ¬¤µ¤ì¤Æ¤¤¤ë¡£
¡¥«¡¼¥Ö¤È¡¢¤Õ¤¿¤Ä¤Î¸òº¹ÅÀ¤Î°ã¤¤¤òǧ¼±¤µ¤»¤ë
¢´Ì¤ò¤Ä¤«¤à¥¿¥¤¥ß¥ó¥°¤ÈÊü¤¹¥¿¥¤¥ß¥ó¥°¤Î·×»»
#define THRESHOLD 55 #define SP_H 40 #define SP_L 15 #define OnRL(spR,spL) OnFwd(OUT_B,spR);OnFwd(OUT_C,spL); #define go OnRL(SP_H,SP_H); #define back OnRL(-SP_L,-SP_L); #define turn_90 OnRL(SP_H,-SP_H);Wait(300); #define turn_180 OnRL(SP_H,-SP_H);Wait(1400); #define left_1 OnRL(SP_L,-SP_L); #define left_0 OnRL(SP_L+5,0); #define right_1 OnRL(-SP_L,SP_L); #define right_0 OnRL(0,SP_L+5); #define catch OnFwd(OUT_A,50);Wait(500);go;Wait(200);OnRev(OUT_A,50);Wait(500);Off(OUT_A); #define hanasu OnFwd(OUT_A,50);Wait(500);back;Wait(500);OnRev(OUT_A,50);Wait(500);Off(OUT_A); #define STEP 1 #define nMAX 230 #define short_break Off(OUT_BC);Wait(1000); #define C_T 500 #define C_L OnRL(SP_L,SP_L);Wait(C_T);short_break; task main() { SetSensorLight(S3); int nOnline_1=0; long t0=CurrentTick();
while(CurrentTick()-t0<1000){ if(SENSOR_3<THRESHOLD-10){ left_1; }else if(SENSOR_3<THRESHOLD-5){ left_0; }else if(SENSOR_3<THRESHOLD+5){ go; }else if(SENSOR_3<THRESHOLD+10){ right_0; }else{ right_1; } Wait(STEP); } while(CurrentTick()-t0==1000){ turn_90; }
¢¬º¸²ó¤êÍÑ¤Î¥×¥í¥°¥é¥à¤Î¤¿¤á¡¢90ÅÙº¸²óž¤·¤Æ¥¹¥¿¡¼¥ÈÃÏÅÀ¤«¤é¥³¡¼¥¹¤Ø¤Ï¤¤¤ë¡£
while(CurrentTick()-t0>1000&&CurrentTick()-t0<3000){ if(SENSOR_3<THRESHOLD-10){ left_1; }else if(SENSOR_3<THRESHOLD-5){ left_0; }else if(SENSOR_3<THRESHOLD+5){ go; }else if(SENSOR_3<THRESHOLD+10){ right_0; }else{ right_1; } Wait(STEP); } while(CurrentTick()-t0==3000){ Wait(1000); PlaySound(SOUND_UP); catch; }
¢¬¥é¥¤¥ó¥È¥ì¡¼¥¹¤·¤Æ´Ì¤Þ¤ÇÅþã¡£´Ì¤ò¤Ä¤«¤à¡£
while(CurrentTick()-t0>3000&&CurrentTick()-t0<15000){ if(SENSOR_3<THRESHOLD-10){ left_1; }else if(SENSOR_3<THRESHOLD-5){ left_0; }else if(SENSOR_3<THRESHOLD+5){ go; }else if(SENSOR_3<THRESHOLD+10){ right_0; }else{ right_1; } Wait(STEP); }
while(CurrentTick()-t0>=15000&&CurrentTick()-t0<=55000){ while(nOnline_1<nMAX){ if(SENSOR_3<THRESHOLD-10){ left_1; nOnline_1++; }else{ if(SENSOR_3<THRESHOLD-5){ left_0; }else if(SENSOR_3<THRESHOLD+5){ go; }else if(SENSOR_3<THRESHOLD+10){ right_0; }else{ right_1; } nOnline_1=0; } Wait(STEP); } Wait(1000); PlaySound(SOUND_CLICK); short_break; back;Wait(200); short_break; right_1;Wait(1400); C_L; nOnline_1=0; }
¢¬¸òº¹ÅÀ¤ò4²ó²£ÃǤ¹¤ë¤¿¤á¤Î¥×¥í¥°¥é¥à¡£»þ´Ö¤ò·×¤ê¤Ê¤¬¤é¤Ç¤Ï¤Ê¤¯¡¢¥«¥¦¥ó¥¿¤ò»È¤Ã¤¿¤Û¤¦¤¬Îɤ«¤Ã¤¿¤«¤â¤·¤ì¤Ê¤¤¡£
while(CurrentTick()-t0>55000&&CurrentTick()-t0<70000){ if(SENSOR_3<THRESHOLD-10){ left_1; }else if(SENSOR_3<THRESHOLD-5){ left_0; }else if(SENSOR_3<THRESHOLD+5){ go; }else if(SENSOR_3<THRESHOLD+10){ right_0; }else{ right_1; } Wait(STEP); } while(CurrentTick()-t0=70000){ Wait(1000); PlaySound(SOUND_UP); turn_180; hanasu; turn_180; }
¢¬¥é¥¤¥ó¥È¥ì¡¼¥¹¤·¤Æ´Ì¤òÃÖ¤¯°ÌÃ֤ޤǹԤ¡¢°ìö¤½¤³¤òÄ̲ᤷ¤¿¸å180Åٲ󞤷¤Æ´Ì¤òÃÖ¤¡¢ºÆ¤Ó180Åٲ󞤹¤ë¤³¤È¤Ç¥³¡¼¥¹¤ËÌá¤ë¡£
while(CurrentTick()-t0>70000){ if(SENSOR_3<THRESHOLD-10){ left_1; }else if(SENSOR_3<THRESHOLD-5){ left_0; }else if(SENSOR_3<THRESHOLD+5){ go; }else if(SENSOR_3<THRESHOLD+10){ right_0; }else{ right_1; } Wait(STEP); } }
¼ç¤Ë¥×¥í¥°¥é¥à¤òôÅö¤·¤Æ¤¤¤¿¤±¤ì¤É¡¢¸òº¹ÅÀ¤ò´Þ¤à¥é¥¤¥ó¥È¥ì¡¼¥¹¤ÎȽÃǤΤµ¤»Êý¤¬Æñ¤·¤¯¡¢¤½¤³¤Ë»þ´Ö¤òÈñ¤ä¤·¤Æ¤·¤Þ¤Ã¤¿¤¿¤á¡¢·ë¶É²ÝÂê¤òËþ¤¿¤¹¤³¤È¤¬¤Ç¤¤Ê¤«¤Ã¤¿¡£