俺に名前は必要ない。なぜなら羽田空港のビルだからだ。 しかも二番目の存在。だが、俺はそれでもいいと思っている。 自分の地位も名誉も、名前同様俺には必要ない。 俺に必要なのはエビフライだ。

#define blackline 30
#define Go_time 200
int frag;
sub linetrace (){
if ((SENSOR_1 <= blackline) && (SENSOR_3 <= blackline)){
  OnFwd(OUT_A + OUT_C);
  Wait(030);
  frag++;
}
else{
  if ((SENSOR_1 <= blackline) && (SENSOR_3 >= blackline)){
    OnRev(OUT_A);OnFwd(OUT_C);
  }
  if ((SENSOR_1 >= blackline) && (SENSOR_3 <= blackline)){
    OnFwd(OUT_C);OnRev(OUT_A);
  }
  if ((SENSOR_1 >= blackline) && (SENSOR_3 >= blackline)){
    OnFwd(OUT_A + OUT_C);
  }
 }
}
sub hold_can (){

Wait (020);
OnFwd(OUT_B);
Wait(150);
Off(OUT_B);
OnRev(OUT_A+OUT_B);
Wait(Go_time+300);
}
sub port_can (){
OnRev(OUT_B);
Wait (250);
Off(OUT_B);
OnFwd (OUT_A+OUT_C);
Wait (040);
Off (OUT_A+OUT_C);
}
sub go_straight (){
OnFwd (OUT_A+OUT_C);
}
sub go_down (){
OnRev (OUT_A+OUT_C);
}
sub turn_R (){
Off (OUT_A + OUT_C);OnRev (OUT_A+OUT_C);Wait (030);OnFwd (OUT_A);Wait (150);Off (OUT_A+OUT_C);
}
sub turn_L (){
Off (OUT_A + OUT_C);OnRev (OUT_C+OUT_A);Wait (030);OnFwd(OUT_C);Wait (150);Off (OUT_A+OUT_C);
}
task main(){
SetSensor (SENSOR_1, SENSOR_LIGHT);
SetSensor (SENSOR_3, SENSOR_LIGHT);
frag=0;
while (true){
    if (frag == 0){
      hold_can();
      go_down ();
      until((SENSOR_1<=blackline)&&(SENSOR_3<=blackline));
      OnFwd(OUT_A);OnRev(OUT_C);
      until((SENSOR_1<=blackline)&&(SENSOR_3>=blackline));
      linetrace();
    }
    if (frag == 1){
      linetrace();
    }
    if (frag == 2){
      OnFwd(OUT_A);OnRev(OUT_C);
      until((SENSOR_1<=blackline)&&(SENSOR_3>=blackline));
      linetrace();
    }
    if (frag == 3){
      port_can();
      frag=0;
    }
  }
}

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-08-02 (水) 11:22:39 (4763d)