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

 #define blackline 40
 #define TURN_TIME 200
 sub go(){
 OnFwd (OUT_A+OUT_C); 
 #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++;
 }
 sub back(){
 OnRev (OUT_A+OUT_C);
 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 turn_R(){
 OnFwd (OUT_A+OUT_C);Wait(050);
 OnRev (OUT_C);Wait(200);Off(OUT_A+OUT_C);
 }
 sub turn_L(){
 OnFwd (OUT_C+OUT_A);Wait(050);
 OnRev (OUT_A);Wait(200);Off(OUT_A+OUT_C);
 } 
 sub hold_can(){
 OnFwd(OUT_B);Wait(150);Off(OUT_B);
 }  
 sub part_can(){
 OnRev(OUT_B);Wait(150);Off(OUT_B);
 }
 task main()
 SetSensor (SENSOR_1, SENSOR_LIGHT);
 SetSensor (SENSOR_3, SENSOR_LIGHT);
 sub hold_can (){
 
 while(true){
 ClearMessage();
 until(Message() = 0);
 hold_can();
 back();
 if((SENSOR_1<=blackline)&&(SENSOR_3>=blackline)){
 OnFwd (OUT_A);OnRev (OUT_C);Wait(10);
 Wait (020);
 OnFwd(OUT_B);
 Wait(150);
 Off(OUT_B);
 OnRev(OUT_A+OUT_B);
 Wait(Go_time+300);
 }
 if((SENSOR_1>=blackline)&&(SENSOR_3<=blackline)){
 OnFwd (OUT_C);OnRev (OUT_A);Wait(10);
 sub port_can (){
 OnRev(OUT_B);
 Wait (250);
 Off(OUT_B);
 OnFwd (OUT_A+OUT_C);
 Wait (040);
 Off (OUT_A+OUT_C);
 }
 until((SENSOR_1<=blackline)&&(SENSOR_3<=blackline));
 back();
 until((SENSOR_1>=blackline)&&(SENSOR_3>=blackline));
 back();
 if((SENSOR_1<=blackline)&&(SENSOR_3>=blackline)){
 OnFwd (OUT_A);OnRev (OUT_C);Wait(10);
 sub go_straight (){
 OnFwd (OUT_A+OUT_C);
 }
 if((SENSOR_1>=blackline)&&(SENSOR_3<=blackline)){
 OnFwd (OUT_C);OnRev (OUT_A);Wait(10);
 sub go_down (){
 OnRev (OUT_A+OUT_C);
 }
 until((SENSOR_1<=blackline)&&(SENSOR_3<=blackline));
 back();
 until((SENSOR_1>=blackline)&&(SENSOR_3>=blackline));
 turn_R();
 go();
 if ((SENSOR_1<=blackline)&&(SENSOR_3>=blackline)){
   OnFwd (OUT_C);OnRev (OUT_A);Wait(10);
 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);
 }
 if ((SENSOR_1>=blackline)&&(SENSOR_3<=blackline)){
   OnFwd (OUT_A);OnRev (OUT_C);Wait(10);
 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);
 }
 until((SENSOR_1<=blackline)&&(SENSOR_3<=blackline));
 go();
 until((SENSOR_1>=blackline)&&(SENSOR_3>=blackline));
 go();
 until((SENSOR_1<=blackline)&&(SENSOR_3<=blackline));
 turn_R();
 part_can();
 go();Wait(300);
 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