- 追加された行はこの色です。
- 削除された行はこの色です。
[[2004/C4/ロボコン]]
#define shiro_midori 39
int swing_time,limit;
sub koudou()
{
OnRev(OUT_B);
until(SENSOR_3==1);
Off(OUT_B);
OnRev(OUT_A);
Wait(1100-swing_time*10);
Off(OUT_A);
OnFwd(OUT_B);
Wait(50);
Off(OUT_B);
OnRev(OUT_C);
Wait(650);
Off(OUT_C);
OnRev(OUT_B);
until(SENSOR_3==1);
Off(OUT_B);
OnFwd(OUT_A);
Wait(1100);
Off(OUT_A);
}
sub haizyo()
{
OnRev(OUT_B);
until(SENSOR_3==1);
Off(OUT_B);
OnFwd(OUT_A);
Wait(400+swing_time*10);
Off(OUT_A);
OnRev(OUT_C);
Wait(650);
Off(OUT_C);
OnRev(OUT_A);
Wait(400);
Off(OUT_A);
}
task main(){
SetSensor(SENSOR_1,SENSOR_TOUCH);
SetSensor(SENSOR_2,SENSOR_LIGHT);
SetSensor(SENSOR_3,SENSOR_TOUCH);
Wait(300);
while(true){
OnFwd(OUT_B);
Wait(180);
Off(OUT_B);
ClearTimer(0);
ClearTimer(1);
OnRev(OUT_A);
until(SENSOR_1==1);
swing_time=Timer(0);
limit=Timer(1);
Off(OUT_A);
if(Timer(0)>=83){
OnRev(OUT_B);
until(SENSOR_3==1);
Off(OUT_B);
OnFwd(OUT_A);
Wait(limit*10);
Off(OUT_A);
}
else{
OnFwd(OUT_B);
Wait(130);
Off(OUT_B);
OnFwd(OUT_C);
Wait(650);
Off(OUT_C);
if(SENSOR_2>=shiro_midori){
koudou();
}
else{
haizyo();
}
}
}
}