- 追加された行はこの色です。
- 削除された行はこの色です。
[[戻る>2005/A6/課題4]]
*一番明るい方を向くプログラム [#w120b5f1]
// 製作日:12月2日
// 製作者:AI
int LIGHT_=0; //一番明るいところの値を入れる
int TIME_LIGHT=0;//一番明るいところまで回るまでの時間
int RUN_TIME=450;//一回転する時間
task main(){
SetSensor(SENSOR_1, SENSOR_LIGHT);
ClearTimer(0);
while (FastTimer(0) <= RUN_TIME) { //一回転するまで繰り返す
if ( SENSOR_1 > LIGHT_ ) { //もし今まで記録した値より明るかったら
LIGHT_ = SENSOR_1 ; //関数にその明るさを記録
TIME_LIGHT = FastTimer(0); //関数にそのときまでの時間を記録
}
OnFwd(OUT_A);
OnRev(OUT_C);
}
ClearTimer(0);
while (FastTimer(0) <= TIME_LIGHT) {// 一番明るかった場所まで回る
OnFwd(OUT_A);
OnRev(OUT_C);
}
Off(OUT_A + OUT_C);
}
[[2005/A6/課題4左/AI]]
#comment
[[2005/A6/課題4左/コンド]]
//製作日 12月9日
//製作者 AI
int LIGHT_MAX=0; //一番明るいところの値を入れる
int TIME_LIGHT=0;//一番明るいところまで回るまで
int RUN_TIME;//一回転する時間
int cnt=0;//カウンター
task main(){
SetSensor(SENSOR_2, SENSOR_LIGHT);
ClearTimer(0);
OnFwd(OUT_A);
OnRev(OUT_C);
repeat(50){
if(SENSOR_2 > LIGHT_MAX){
LIGHT_MAX = SENSOR_2;//一番明るいところの値が入る
TIME_LIGHT = cnt;//一番明るいところまでかかった時間が入る
}
cnt++;
Wait(5);
}
OnFwd(OUT_C);
OnRev(OUT_A);
RUN_TIME = 250-(TIME_LIGHT-1)*5;//逆回転する時間
Wait(RUN_TIME);
Off(OUT_A+OUT_C);
}
#comment