[[2006a/B4]]
  sub turn_light() //光りセンサーによる反応
 {
  if(SENSOR_1< 50) //左が黒かったら
    {
     OnFwd(OUT_C); //左に曲がる
     Off(OUT_A);
    }  
  if(SENSOR_3 < 48) //右が黒かったら
    {
     OnFwd(OUT_A); //右に曲がる
     Off(OUT_C);
    }  
 }
 _
 sub turn_tach() //タッチセンサーによる反応
 {
      OnRev(OUT_A+OUT_C);Wait(100); //一旦引いて
      OnFwd(OUT_A);
      OnRev(OUT_C);Wait(150);    //ターン
      Off(OUT_A+OUT_C);
 }
 _
 task main ()  //メインタスク
 {
   SetSensor(SENSOR_1,SENSOR_LIGHT); 
   SetSensor(SENSOR_2,SENSOR_TOUCH);
   SetSensor(SENSOR_3,SENSOR_LIGHT);  //センサーを定義
      while(true)
      {
           OnFwd(OUT_A+OUT_C);
             while(SENSOR_2 == 0) //タッチセンサーが反応してない時
             {
              turn_light();  //光りセンサーによる反応を実行
             }
           turn_tach();  //タッチセンサーによる反応を実行
          }
 }

**苦労した点 [#k448022b]
 プログラムのif節の使い方がよく分からなかった。タッチセン           
 サーと光センサーの両方を使わなければならなかったのでとにか
 く難しかった。
**工夫した点 [#le9713c2]
 課題1の時と同様できる限りシンプルにした。

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