- 追加された行はこの色です。
- 削除された行はこの色です。
[[2006b/A6/R Room/mission 2]]
制作者(TAKA)
#define THRESHOLD 40
task main ()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_LIGHT);
SetSensor(SENSOR_2,SENSOR_TOUCH);
OnFwd(OUT_A+OUT_C);
while(true){
if(SENSOR_3>THRESHOLD)
{
Off(OUT_A);
OnFwd(OUT_C);
}
if(SENSOR_1>THRESHOLD)
{
Off(OUT_C);
OnFwd(OUT_A);
}
else(OUT_A+OUT_C);
if(SENSOR_2==1)
{
OnRev(OUT_A+OUT_C);
Wait(50);
Off(OUT_A+OUT_C);
OnFwd(OUT_A);
Wait(20);
OnFwd(OUT_C);
Wait(50);
Off(OUT_A+OUT_C);
OnFwd(OUT_C);
Wait(35);
OnFwd(OUT_A);
}
}
}
*改善版 [#za919cc6]
#define THRESHOLD 48
task main ()
{
SetSensor(SENSOR_1,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_LIGHT);
SetSensor(SENSOR_2,SENSOR_TOUCH);
OnFwd(OUT_A+OUT_C);
while(true){
if(SENSOR_1<THRESHOLD)
{
Off(OUT_A);
OnFwd(OUT_C);
}
else if(SENSOR_3<THRESHOLD)
{
Off(OUT_C);
OnFwd(OUT_A);
}
else(OUT_A+OUT_C);
if(SENSOR_2==1)
{
OnRev(OUT_A+OUT_C);
Wait(60);
Off(OUT_A+OUT_C);
OnFwd(OUT_A);
Wait(60);
OnFwd(OUT_C);
Wait(100);
Off(OUT_A+OUT_C);
OnFwd(OUT_C);
Wait(110);
OnFwd(OUT_A);
}
}
}
-動きをスムーズにするようにこちらのプログラムも『else if』を使いました。あと、おなじく避けるときのプログラムも少しいじりました。