- 追加された行はこの色です。
- 削除された行はこの色です。
task main()
{
SetSensor(SENSOR_1, SENSOR_LIGHT);//センサーを決める
int a;int b;int t;//aは定数、bは前進を止めたときのセンサーの値、tは前進を止めたと
きのタイマーの値
repeat(10){
ClearTimer(0);//タイマーをリセット
OnFwd(OUT_A+OUT_C);a=25;//前進
until (SENSOR_1 <a) ;b=SENSOR_1;t=Timer(0);
if(t <=250 ){//もしタイマーが250以下なら次へ進む
OnRev(OUT_A+OUT_C);Wait(t/2); // 後進
OnFwd(OUT_A); OnRev(OUT_C);until(SENSOR_1>b+10); //明るくなる
まで回転
}
else{ //もしタイマーが250より高いなら次へ進む
OnRev(OUT_A+OUT_C);Wait(230) ;//2、3秒後進
OnFwd(OUT_A); OnRev(OUT_C);until(SENSOR_1>b+10);//明るくなるまで
回転
}}
Off(OUT_A+OUT_C);//止まる
}
SetPower(OUT_A,6);SetPower(OUT_C,6);//回転数を決める
SetSensor(SENSOR_1, SENSOR_LIGHT);
SetSensor(SENSOR_2, SENSOR_LIGHT);//センサーを決める
int a;//変数を決める(aは定数)
while(true ){
OnFwd(OUT_A+OUT_C);a=35; //前進 aを35にする
until (SENSOR_1 || SENSOR_2 <a);//センサー1か2がa以下まで前進
if(SENSOR_1 <a){ // もしセンサー1がa以下のとき以下
OnRev(OUT_A); until(SENSOR_1>a); // センサー1がa以上になるまで
モーターAを逆回転
}
if(SENSOR_2 <a){ //もしセンサー2がa以下のとき以下
OnRev(OUT_C); until(SENSOR_2>a);//センサー2がa以上になるまで
モーターCを逆回転
}
if(SENSOR_1 && SENSOR_2 <a){//もしセンサー1と2がa以下のとき以下
OnRev(OUT_A+OUT_C);
until(SENSOR_1 && SENSOR_2 >a);//センサー1と2がa以上になるまで
後退
}
}
Off(OUT_A+OUT_C);//停止
}