[[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();
                        }
                   }
                
              }
 }



トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS