[[2005/C3/しかた]] モーター2つのライントレースロボットのプログラムです。 #define BLACK 45 //黒い線 #define A 10 //微少時間 task main() { SetSensor(SENSOR_1, SENSOR_LIGHT); SetSensor(SENSOR_3, SENSOR_LIGHT); while(true){ if(SENSOR_1>BLACK && SENSOR_3>BLACK){ //2つのセンサが黒い線の上ではない時 OnFwd(OUT_A+OUT_C); Wait(A); } else if(SENSOR_1< BLACK){ //左側のセンサが黒い線を感知した時 while(SENSOR_1< BLACK){ OnFwd(OUT_C); OnRev(OUT_A); Wait(A); } } else if(SENSOR_3< BLACK){ //右側のセンサが黒い線を感知した時 while(SENSOR_3< BLACK){ OnFwd(OUT_A); OnRev(OUT_C); Wait(A); } } } Float(OUT_A); //意味なし } 感想 中途半端に関数とか使ってみました。 与えられた引数で、カーブとかも可能なプログラムを作りたかったのですが、 妥協しました。