[[2005/C3/しかた]] モーター1つのライントレースロボットです。 #define A 40 //明るさの基準 #define B 40 //走る時間の基準 #define C 10 //トレース時間の基準1 #define D 10 //トレース時間の基準2 void run() //走る関数 { OnFwd(OUT_A); Wait(B); OnRev(OUT_A); Wait(B); } void trace(int x) //トレース関数 { repeat(D){ OnFwd(OUT_A); Wait(C); if(x < A) return; } repeat(D*2){ OnRev(OUT_A); Wait(C); if(x < A) return; } } task main() { SetSensor(SENSOR_1,SENSOR_LIGHT); while(true) //無限ループ { if(SENSOR_1 < A) //線の上なら { run(); } else //線の上でないなら { trace(SENSOR_1); } } Off(OUT_A+OUT_C); //意味なし } #ref lego.jpg #reflego.jpg #ref(lego.jpg) 感想 ロボット苦労しました…