[[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』を使いました。あと、おなじく避けるときのプログラムも少しいじりました。