2005/C5/課題1右

右を書くプログラム

void go_straight(int t)
{
     OnFwd(OUT_A+OUT_C);
     Wait(t);
     Off(OUT_A+OUT_C);
}
     
void turn_right(int t)
{    
     OnRev(OUT_A);
     OnFwd(OUT_C);
     Wait(t);
     Off(OUT_A+OUT_C);
}
void turn_left(int t)
{
     OnRev(OUT_C);
     OnFwd(OUT_A);
     Wait(t);
     Off(OUT_A+OUT_C);
}

void pen_down()
{
    OnRev(OUT_B);
    Wait(15);
    Off(OUT_B);
       
}    
void pen_up()
{    
    OnFwd(OUT_B);
    Wait(14);
    Off(OUT_B);
}
void go_back(int t)
{  
    OnRev(OUT_A+OUT_C);
    Wait(t);
    Off(OUT_A+OUT_C);
}
   
task main()
{  
    pen_down();    //一画目
    OnRev(OUT_A);   
    Wait(200);
    Off(OUT_A);
    pen_up();
    turn_left(180);  //移動
    go_straight(65);
    turn_right(190);  
    pen_down();    //二画目
    go_straight(95);  
    pen_up();
    go_straight(10);  //移動
    turn_left(180);
    go_back(110);
    pen_down();    //三画目
    go_back(45);
    pen_up();
    go_straight(125); //移動
    turn_right(180);
    go_back(80);  
    pen_down();    //四画目
    go_straight(50);
    pen_up();
    go_straight(82);
    turn_left(180);
    go_back(85);
    pen_down();
    go_back(45);
    pen_up();
    go_straight(90);  //移動
    turn_right(180);
    go_back(135);
    pen_down();    //五画目
    go_straight(50);
 }

感想

キャタピラで移動するロボットにしたので、小回りがきかなかった。
大回りするとずれが大きくなるので、なるべく大回りしないようにす
るのが大変だった。途中まで後退を使わないでプログラムしていたが、
途中から後退を使ってプログラムしたら作業がはかどった。

コメント



トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-11-25 (金) 18:21:51