2006b/A1/課題2左
衝突後逆戻りするプログラム†
task main()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);//光センサーのセット
SetSensor(SENSOR_2,SENSOR_TOUCH);//タッチセンサーのセット
SetSensor(SENSOR_3,SENSOR_LIGHT);//光センサーのセット
while(true){
if(SENSOR_1 >=40 && SENSOR_3 >=40){
OnFwd(OUT_A+OUT_C);
}//両方の光センサーが明るいと前進。
else if(SENSOR_1 <40 && SENSOR_3< 40){
OnFwd(OUT_C+OUT_A);
}//両方の光センサーが暗くても前進。
else if(SENSOR_3 < 40){
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(4);
}//右側が黒い線に入ると、右に曲がる。
else{
OnFwd(OUT_C);
OnRev(OUT_A);
Wait(4);
}//左側が黒い線に入ると、左に曲がる。
if(SENSOR_2 == 1){ //タッチセンサー
OnRev(OUT_A+OUT_C);
Wait(50); //少しバックする。
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(90); //ある程度回転させる。
until(SENSOR_1 <= 40);//これによって黒い線をまたぐ事が出来る。
}
}
}