[[2011a]]


#define SIGNALON 1

sub left()  //左に曲がるためのサブルーチン。
{
    OnRev(OUT_C); OnFwd(OUT_A);
    Wait(95);
    Off(OUT_C+OUT_A);
    Wait(40);
}

sub right()  //右に曲がるためのサブルーチン。
{
    OnFwd(OUT_C); OnRev(OUT_A);
    Wait(95);
    Off(OUT_C+OUT_A);
    Wait(40);
}

sub goball()
{
 OnFwd(OUT_A+OUT_C);
   until((SENSOR_1 == 1)&&(SENSOR_2 == 1));
   Off(OUT_C+OUT_A);
 Wait(40);
}

void go(int t) //前に移動するための関数。入力された時間だけに移動
{
    OnFwd(OUT_A+OUT_C); 
    Wait(t);                        
    Off(OUT_A+OUT_C); 
    Wait(50);
}

void back(int t) //後ろに移動するための関数。入力された時間だけ前に移動
{
    OnRev(OUT_A+OUT_C); 
    Wait(t);                        
    Off(OUT_A+OUT_C); 
    Wait(50);
}

sub up() //ペンを持ち上げるサブルーチン。線をかくずに移動するとき。
{
   OnFwd(OUT_B);
   Wait(15);
   Off(OUT_B);
    Wait(20);    
}

sub down() //ペンを下げるサブルーチン。線を引くとき。
{
   OnRev(OUT_B);
   Wait(15);
   Off(OUT_B);
    Wait(20);    
}


task main ()
{				
  
SetSensor(SENSOR_1, SENSOR_TOUCH);
SetSensor(SENSOR_2, SENSOR_TOUCH);

int time=20;

right();
go(60);
left();

  repeat(3)
  {
    
        goball();

         back(3);
        left();

        back(100);
   
        down(); //down arm
     
        //go(time);//push ball and go

         //up(); //up arm 

        //go(100-time);
     
         //time=time+20;

   
       //right(); 

       //go(5);
       //down();
        

       //back(100);
      // up();
        //back(50);
 	//SendMessage(SIGNALON);
	//go(50);

  }		
}


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