2005/B1

練習問題1

  • 書道ロボット
#define MOVE_TIME 2
#define MATE
#define taiya OUT_A+OUT_C
#define a OUT_A
#define c OUT_C
#define b OUT_B

task main()
{OnFwd(OUT_B);
Wait(150);                     //ペン上げ
OnFwd(OUT_A);
OnFwd(OUT_C);

repeat(50){
Wait(MOVE_TIME);
Off(OUT_A);
Wait(MATE);
OnFwd(OUT_A);}              //1画目終わり

Off(OUT_A+OUT_B+OUT_C);

OnRev(OUT_B);
Wait(100);                
Off(OUT_B);                    //ペン上げ

OnFwd(OUT_A);
Wait(MOVE_TIME*50-MATE*50);

Off(OUT_A+OUT_C);

OnFwd(taiya);
Wait(20);
Off(taiya);
OnRev(OUT_C);
Wait(240);
Off(OUT_C);  
OnFwd(OUT_A+OUT_C);
Off(taiya);                            

OnRev(taiya);
Wait(30);
Off(taiya);                     //2画目の位置  

OnFwd(OUT_B);
Wait(150);

OnFwd(OUT_A+OUT_B+OUT_C);
Wait(130);
Off(taiya);                     //2画目終わり
OnRev(OUT_B);
Wait(100);
Off(OUT_B);

OnFwd(OUT_C);
OnRev(OUT_A);
Wait(250);                     

OnFwd(taiya);
Wait(10);
Off(taiya);

OnFwd(OUT_A);
OnRev(OUT_C);
Wait(127);
Off(OUT_C);

OnRev(taiya);
Wait(40);
Off(taiya);

OnFwd(OUT_B);                //3画目の位置
Wait(150);

OnFwd(taiya);
Wait(60);
Off(taiya);
OnRev(OUT_B);
Wait(100);
Off(OUT_B);                //3画目終わり

OnFwd(taiya);
Wait(25);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(125);
OnRev(taiya);
Wait(87);
Off(taiya);              //4画目の位置

OnFwd(OUT_B);
Wait(150);
OnFwd(taiya);
Wait(80);
                           //4画目の角
repeat(15){

OnFwd(c);
OnRev(a);
Wait(1);
Off(c);
OnRev(a);
Wait(1);
Off(a+c);
OnFwd(a+c);
Wait(1); 
Off(OUT_A+OUT_C);
}
repeat(10){
OnFwd(c);
OnRev(a);
Wait(1);
Off(a);
OnFwd(c);
Wait(1);
Off(a+c);
}
OnRev(OUT_B);
Wait(100);                    //4画目の終わり
Off(OUT_B);

repeat(10){
OnRev(c);
OnFwd(a);
Wait(1);
Off(a);
OnRev(c);
Wait(1);
Off(a+c);
}

repeat(15){

OnRev(c);
OnFwd(a);
Wait(1);
Off(c);
OnFwd(a);
Wait(1);
Off(a+c);
OnRev(a+c);
Wait(1); 
Off(OUT_A+OUT_C);
}

OnRev(taiya);
Wait(80);
Off(taiya);
OnRev(a);
Wait(243);
OnFwd(taiya);
Wait(59);
Off(taiya);
OnFwd(a);
Wait(243);                    //5画目の位置
Off(taiya);
OnFwd(taiya);
Wait(10);
Off(taiya);

OnFwd(b);
Wait(150);
OnFwd(taiya);
Wait(83);
Off(a+b+c);
OnRev(b);
Wait(100);
Off(b);}
  • 長くてすみません。ロボットの構造がタイヤの中心よりもペンが前に出ていたのでいろいろ微調整が大変でした。
  • 自分ながら「4画目の角」からの直線をアレンジしてみました。結果は、うねうねの直線(?)になってしまいました。
  • ロボットの工夫は、キャタピラだとキャタピラのでこぼこの位置によって微少にずれが生じてしまうと思ったのでタイヤにしました。また、4輪にすると回転しにくいとおもったので3輪車にしました。
  • 関数やサブルーチンを使ってもう少しプログラムを整理してみよう。 -- まいける(TA) 2005-12-02 (金) 17:00:30

練習問題5

  • 曲ロボット


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-12-16 (金) 16:54:57 (4995d)