[[2005/A6/課題右]] [[戻る>2005/A6]] int light_max=0; //光の最大強度を定義し、0からスタート int i; //変数iを定義 int i_brightness; //光強度最大のときのiをi_brightnessと定義 sub turn_left() //3/100秒左周り { OnFwd(OUT_A); OnRev(OUT_C); Wait(3); Off(OUT_A+OUT_C); } sub turn_right() //光強度最大の場所に右周りで戻る { OnRev(OUT_A); OnFwd(OUT_C); Wait(237-i_brightness*3); Off(OUT_A+OUT_C); } task main() { SetSensor(SENSOR_2, SENSOR_LIGHT); //センサー2を光センサに for (i=1; i<=79; i++) //1からカウントしながら79回以下の動作を繰り返す { turn_left(); //左周り if(SENSOR_2 > light_max) //もしセンサの値が直前までのlight_maxより大きければ { light_max = SENSOR_2; //その値を最大強度に i_brightness = i; //そのときのカウンタの回数をi_brightnessに Wait(3); //左周りに要する時間と同じだけ待つ } } turn_right(); //光の最大強度のところに戻る } **感想 **感想 [#xc686760] 滑らかに一回転するのに要する時間と、止まりながら一回転するのに要する時間が異るのに困った。 結局なんとなくつじつまを合わせることで解決。