[[2006a/C3/課題2左]]

作成者:西日暮里       

 task main()
 {
    SetSensor(SENSOR_1,SENSOR_LIGHT);
    SetSensor(SENSOR_2,SENSOR_TOUCH);
    SetSensor(SENSOR_3,SENSOR_LIGHT);
    OnFwd(OUT_A+OUT_C);
    while(true){
    while (SENSOR_2==0){
        if(SENSOR_1<40){
            OnRev(OUT_A);
          OnFwd(OUT_C);
          Wait(10);
          OnFwd(OUT_A+OUT_C);
    SetSensor(SENSOR_1,SENSOR_LIGHT);    //センサ−1は光センサー
    SetSensor(SENSOR_2,SENSOR_TOUCH);    //センサー2はタッチセンサー
    SetSensor(SENSOR_3,SENSOR_LIGHT);    //センサー3は光センサー
    OnFwd(OUT_A+OUT_C);            //光センサーが明るいときは常に前進する
    while(true){                //常に成り立つ 
    while (SENSOR_2==0){           //タッチセンサーが押されていないときに繰り返す
        if(SENSOR_1<40){           //左側のセンサーが暗さを感じたとき
          OnRev(OUT_A);           
          OnFwd(OUT_C);        
          Wait(10);             //左折して左側のセンサーが明るさを感じるところまで戻る
          OnFwd(OUT_A+OUT_C);        //前進
            }
      else if(SENSOR_3<40){
            OnRev(OUT_C);   
            OnFwd(OUT_A);
          Wait(10);
          OnFwd(OUT_A+OUT_C);
      else if(SENSOR_3<40){         //右側のセンサーが暗さを感じたとき
          OnRev(OUT_C);   
          OnFwd(OUT_A);
          Wait(10);             //右折して右側のセンサーが明るさを感じるところまで戻る
          OnFwd(OUT_A+OUT_C);        //前進
          }
         }             
     if(SENSOR_2==1){
         OnRev(OUT_A+OUT_C);
     if(SENSOR_2==1){            //タッチセンサーが押されたとき
         OnRev(OUT_A+OUT_C);         //後進
         OnFwd(OUT_A);
         Wait(205);
         OnFwd(OUT_A+OUT_C);
         Wait(205);             //反転
         OnFwd(OUT_A+OUT_C);         //前進
         }
    }     
 }

-タッチセンサーが押されているときと押されていないときで分けるようにプログラムを修正した。


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