[[2018a/Member]] #define RESET ClearTimer(0) #define sasetu OnFwd(OUT_C) #define usetu OnFwd(OUT_A) #define tyokusin OnFwd(OUT_AC) #define STOP Off(OUT_AC) #define kaitenR OnFwd(OUT_A);OnRev(OUT_C) #define kaitenL OnFwd(OUT_C);OnRev(OUT_A) #define SOUND PlaySound(SOUND_UP) sub lineL() { RESET; while(FastTimer(0)<50){ if(SENSOR_1<50){ sasetu; Wait(5); STOP; } else{ usetu; RESET; Wait(5); STOP; } } SOUND; } sub lineR() { RESET; while(FastTimer(0)<50){ if(SENSOR_1<50){ usetu; Wait(5); STOP; } else{ sasetu; RESET; Wait(5); STOP; } } SOUND; } task main() { SetSensor(SENSOR_1,SENSOR_LIGHT); tyokusin; Wait(100); STOP; lineL(); OnRev(OUT_C); Wait(30); STOP; Wait(100); tyokusin; Wait(30);//Cをこえる STOP; lineL(); kaitenL; Wait(50); OnRev(OUT_B); lineL(); OnRev(OUT_C); Wait(40); STOP; Wait(100); OnFwd(OUT_B); Wait(50);//缶を掴む Off(OUT_B); tyokusin; Wait(10); STOP; kaitenL; Wait(40); STOP; lineL(); OnRev(OUT_C); Wait(60); STOP; tyokusin; Wait(20);//Eをこえる lineL(); kaitenL; Wait(20);//Fを左折 lineL(); Wait(100); kaitenL; Wait(40);//Gを左折 STOP; tyokusin; Wait(30); STOP; lineR(); kaitenR; Wait(50); STOP; lineR(); tyokusin; Wait(20); STOP; kaitenR; Wait(30); STOP; lineL(); OnRev(OUT_C); Wait(30); STOP; Wait(100); usetu; Wait(160);//Hを右折 STOP; lineR(); Wait(100); kaitenR; Wait(20);//Iを右折 STOP; lineR(); OnRev(OUT_A); Wait(40); STOP; tyokusin; Wait(20);//Lを越える lineR(); OnRev(OUT_A); Wait(40); STOP; tyokusin; Wait(20);//Kを越える lineR(); OnRev(OUT_A); Wait(30); STOP; Wait(100); kaitenL; Wait(70);//90度回転 STOP; OnRev(OUT_B); Wait(50); Off(OUT_B);//缶を離す OnRev(OUT_AC); Wait(70); STOP; kaitenR; Wait(70); STOP; tyokusin; Wait(60); STOP; kaitenR; Wait(70); STOP; lineL(); Wait(100); kaitenL; Wait(60);//Bを左折 lineL(); OnRev(OUT_C); Wait(30); STOP; tyokusin; Wait(150); STOP; }