[[2006b/A6/課題2左]]

#contents
*相手のロボットに接触したら反転して進む [#w14247e9]
**プログラム [#v813fbd3]
 #define light 44  // 閾値を定義
 
 task main(){
   SetSensor(SENSOR_1,SENSOR_LIGHT);  //センサー1を光センサーに定義
   SetSensor(SENSOR_2,SENSOR_TOUCH);  //センサー2をタッチセンサーに定義
   SetSensor(SENSOR_3,SENSOR_LIGHT);  //センサー3を光センサーに定義
   
   while(true) {
        if(SENSOR_1 < 40){   // 左側の光センサーが黒を感知したら左へ
        if(SENSOR_1 < light){   // 左側の光センサーが黒を感知したら左へ
             OnFwd(OUT_C);
             OnRev(OUT_A);
        }
 
        else if(SENSOR_3 <  40){   // 右側の光センサーが黒を感知したら右へ
        else if(SENSOR_3 <  light){   // 右側の光センサーが黒を感知したら右へ
             OnFwd(OUT_A);
             OnRev(OUT_C);
        }
 
        else if(SENSOR_2 ==1){   // 衝突したら若干の後退の後、右の光センサーが黒を感知するまで右回転
             OnRev(OUT_A+OUT_C) ;
             Wait(30);
             while(SENSOR_3 > 40){
             while(SENSOR_3 > light){
                   OnFwd(OUT_A);
             }
        }
 
        else{   // 上記以外の時、前進
        OnFwd(OUT_A+OUT_C);
        }
    }
 }

**苦労した点 [#f0d45852]
 特になし
**工夫した点 [#f651b735]
 ぶつからないように若干バックする。~
 上手く黒線をまたぐまでの定義づけがスムーズな動きとなるように出来た。
**感想 [#obbd208e]
 はじめから考えがまとまっていたので、すぐに作ることが出来た。~
 実際に考えていた通りのものが出来たと思うので満足。

*コメント [#se9dc333]
何か意見がありましたらこちらにどうぞ
#comment

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS