- 追加された行はこの色です。
- 削除された行はこの色です。
[[2005/B1]]
*練習問題 [#hed12ed1]
*練習問題1 [#hed12ed1]
-書道ロボット
#define MOVE_TIME 2
#define MATE 1
#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); //pen orosi
Wait(150); //ペン上げ
OnFwd(OUT_A);
OnFwd(OUT_C);
repeat(50){
Wait(MOVE_TIME);
Off(OUT_A);
Wait(MATE);
OnFwd(OUT_A);} //1kakume owari
OnFwd(OUT_A);} //1画目終わり
Off(OUT_A+OUT_B+OUT_C);
OnRev(OUT_B);
Wait(100);
Off(OUT_B); //pen ageru
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); //2kakume iti
Off(taiya); //2画目の位置
OnFwd(OUT_B);
Wait(150);
OnFwd(OUT_A+OUT_B+OUT_C);
Wait(130);
Off(taiya); //2kakume owari
Off(taiya); //2画目終わり
OnRev(OUT_B);
Wait(100);
Off(OUT_B);
OnFwd(OUT_C);
OnRev(OUT_A);
Wait(250); //rei no kaiten
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); //3kakume hairu
OnFwd(OUT_B); //3画目の位置
Wait(150);
OnFwd(taiya);
Wait(60);
Off(taiya);
OnRev(OUT_B);
Wait(100);
Off(OUT_B); //3kakume owari
Off(OUT_B); //3画目終わり
OnFwd(taiya);
Wait(25);
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(125);
OnRev(taiya);
Wait(87);
Off(taiya); //4kakume hairu
Off(taiya); //4画目の位置
OnFwd(OUT_B);
Wait(150);
OnFwd(taiya);
Wait(80);
//4kakume no kado
//4画目の角
repeat(15){
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); //4kakume owari
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);
} //moto ni modoru
}
OnRev(taiya);
Wait(80);
Off(taiya);
OnRev(a);
Wait(243);
OnFwd(taiya);
Wait(59);
Off(taiya);
OnFwd(a);
Wait(243); //5kakume iti
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)]] &new{2005-12-02 (金) 17:00:30};
#comment
*練習問題5 [#jc0789da]
-曲ロボット
#comment