#define TR OnFwd(OUT_C,40);
 #define TL OnFwd(OUT_B,40);
 #define SR OnFwdSync(OUT_BC,40,-100);
 #define SL OnFwdSync(OUT_BC,40,100);
 #define GF OnFwdSync(OUT_BC,40,0);
 #define XrdTR TR Wait(500);SL Wait(1400);Off(OUT_BC);Wait(300);GF   Wait(500);Off(OUT_BC);n++;
 #define XrdST TR Wait(1000); GF Wait(200);n++;
 #define UU OnFwd(OUT_A,25);Wait(700);Off(OUT_A);
 #define UD OnRev(OUT_A,25);Wait(700);Off(OUT_A);
 #define XX PlaySound(SOUND_CLICK);Wait(500);Wait(1000);

 task main()
 {
  SetSensorLight(S1);
  int n=0;
  long t0 = CurrentTick();
  UU

  while(n<7){
  t0 = CurrentTick();
  while(CurrentTick()-t0<600){
   if(SENSOR_1>42){
     SL
     t0 = CurrentTick();
    }
   else if(SENSOR_1>40){
     TL
     t0 = CurrentTick();
    }
   else if(SENSOR_1>38){
     GF
     t0 = CurrentTick();
    }
   else if(SENSOR_1>37){
     TR
     t0 = CurrentTick();
    }
   else{
     SR
    }
   }

  Off(OUT_BC);



  while(n==6){
       XrdST
       Off(OUT_BC);
       UU
       OnFwdSync(OUT_BC,40,0);
       Wait(300);
       n++;
       }
   while(n==5){
      SR
     Wait(700);
     n++;  //変えた
        }
   while(n==4){
       XX
       XrdST
        }
   while(n==3){
       XrdTR
        }
   while(n==2){
       XX
       XrdST
        }
   while(n==1){
       XX
       XrdST
        PlaySound(SOUND_CLICK);
        Wait(500);
       t0 = CurrentTick();
       while(CurrentTick()-t0<6000){
       if(SENSOR_1>42){
        SL
        }
       else if(SENSOR_1>40){
        TL
        }
       else if(SENSOR_1>38){
        GF
        }
        else if(SENSOR_1>37){
         TR
        }
       else{
        SR
        }
        }
       Off(OUT_BC);
       Wait(500);
       UD
        }
  while(n==0){
       XX
       XrdST  //変えた
        }
 }
 }

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