switch文を用いたプログラム

プログラム内容

#define LB 42    // 閾値を42にするつもりで、LBと設定
task main(){
   SetSensor(SENSOR_1,SENSOR_LIGHT);
   SetSensor(SENSOR_2,SENSOR_TOUCH);
   SetSensor(SENSOR_3,SENSOR_LIGHT);
   int pt = 0;
   while(1){
       if((SENSOR_1 >= LB) && (SENSOR_3 >= LB)){
           pt = 1;        // センサーがどちらも白と判断している場合モード1に移行
       }else if((SENSOR_1 < LB) && (SENSOR_3 >= LB)){
           pt = 2;        // センサーの左側が黒と判断されている場合モード2に移行
       }else if((SENSOR_1 >= LB) && (SENSOR_3 < LB)){
           pt = 3;        // センサーの右側が黒と判断されている場合モード3に移行
       }else if((SENSOR_1 < LB) && (SENSOR_3 < LB)){
           pt = 4;        // センサーがどちらも黒と判断している場合モード4に移行
       }
       if(SENSOR_2 == 1){
           pt = 5;       // タッチセンサーが押された場合モード5に移行
       }
       switch(pt){
           case 0:
           case 1:        // モード1
               OnFwd(OUT_A+OUT_C);
               break;
           case 2:        // モード2
               OnFwd(OUT_C);
               OnRev(OUT_A);
               break;
           case 3:        // モード3
               OnFwd(OUT_A);
               OnRev(OUT_C);
               break;
           case 4:        // モード4
               OnFwd(OUT_A);
               OnRev(OUT_C);
               break;
           case 5:        // モード5
               OnFwd(OUT_A);
               OnRev(OUT_C);
               Wait(50);
               OnFwd(OUT_A+OUT_C);
               Wait(175);
               OnFwd(OUT_C);
               OnRev(OUT_A);
               Wait(50);
               OnFwd(OUT_A+OUT_C);
               Wait(175);
               OnFwd(OUT_C);
               OnRev(OUT_A);
               Wait(50);
               OnFwd(OUT_A+OUT_C);
               break;
           }
   }
}
       

プログラムの説明


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-06-23 (金) 19:37:09