int i=0,i_max; sub turn_left() //左折(明るい方を向く) {if(SENSOR_1>=light_max){OnFwd(OUT_C); Wait(10); } } sub turn_right() //右折(明るい方を向く) {if(SENSOR_2>=light_max){OnFwd(OUT_A); Wait(10); } } task main() { SetSensor(SENSOR_1, SENSOR_LIGHT); SetSensor(SENSOR_2, SENSOR_LIGHT); for(i=0;i<=50;i++) { OnFwd(OUT_A); //明るい方向を探す(その場で回転) OnRev(OUT_C); Wait(10); Off(OUT_A+OUT_C); Wait(5); if(SENSOR_1>=light_max){ light_max=SENSOR_1; PlaySound(0); //最も明るい方向を向いたときに音を出す } } OnFwd(OUT_A); OnRev(OUT_C); until(SENSOR_1>=light_max); Off(OUT_A+OUT_C); while(true){ turn_left(); //明るい方向へと動き出す turn_right(); Off(OUT_A+OUT_C); Wait(10); } }
光の当て方によってうまくいったりいかなかったりした。