- 追加された行はこの色です。
- 削除された行はこの色です。
[[2006a/C3/課題2左]]
作成者:飯田橋
task main()
{
SetSensor(SENSOR_3,SENSOR_LIGHT);
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_2,SENSOR_TOUCH);
OnFwd(OUT_A+OUT_C); //まっすぐ進む
OnFwd(OUT_A+OUT_C); //直進
while(true)
{
while(SENSOR_2==0)
{
if (SENSOR_1<40)//センサー1が
{ //黒い線の上に行ったら
OnRev(OUT_A); //左旋回
OnFwd(OUT_C); //
OnFwd(OUT_A+OUT_C);//前進
if (SENSOR_1<40) //センサー1が黒い線の
{ //上に行ったら0.10秒左旋回
OnRev(OUT_A);
OnFwd(OUT_C);
Wait(10);
}
else if(SENSOR_3<40)//センサー3が黒い線の
{ //上に行ったら0.10秒右旋回
OnRev(OUT_C);
OnFwd(OUT_A);
Wait(10);
OnFwd(OUT_A+OUT_C);
}
else if(SENSOR_3<40)//同じく3の場合
{ //右旋回
OnRev(OUT_C);
OnFwd(OUT_A);
Wait(10);
OnFwd(OUT_A+OUT_C);
}
}
if(SENSOR_2==1)
if(SENSOR_2==1)//接触した場合右回りで迂回
{
OnRev(OUT_A); OnFwd(OUT_C); Wait(40);//接触した場合右回りで迂回
OnRev(OUT_A); OnFwd(OUT_C);Wait(40);//0.40秒右旋回の後停止
Off(OUT_A+OUT_C); //の0.40秒直進の後停止
OnFwd(OUT_A+OUT_C); Wait(40); //0.40秒左旋回
Off(OUT_A+OUT_C);
OnFwd(OUT_A+OUT_C); Wait(40);
Off(OUT_A+OUT_C);
OnRev(OUT_C);OnFwd(OUT_A);Wait(40);
Off(OUT_A+OUT_C);
}
}
}