*1.書道ロボット [#kd961cb3] #ref(IMGP0122.JPG); **プログラム [#sda4ca92] sub down() { OnRev(OUT_B); Wait(010); Off(OUT_B); } sub up() { OnFwd(OUT_B); Wait(010); Off(OUT_B); } void turn_right(int t) { OnFwd(OUT_A); OnRev(OUT_C); Wait(t); } void turn_left(int t) { OnFwd(OUT_C); OnRev(OUT_A); Wait(t); } void straght(int t) { OnFwd(OUT_A+OUT_C); Wait(t); } task main() { down(); OnFwd(OUT_A+OUT_C); Wait(060); Off(OUT_A+OUT_C); up(); OnRev(OUT_A+OUT_C); Wait(100); turn_right(130); straght(040); Off(OUT_A+OUT_C); down(); OnFwd(OUT_A+OUT_C); Wait(065); up(); OnRev(OUT_A+OUT_C); Wait(95); turn_left(120); straght(065); Off(OUT_A+OUT_C); down(); straght(045); Off(OUT_A+OUT_C); up(); OnRev(OUT_A+OUT_C); Wait(085); turn_right(104); OnFwd(OUT_A+OUT_C); Wait(060); Off(OUT_A+OUT_C); down(); straght(030); Off(OUT_A+OUT_C); up(); OnRev(OUT_A+OUT_C); Wait(065); turn_left(100); straght(037); Off(OUT_A+OUT_C); down(); straght(056); Off(OUT_A+OUT_C); up(); } -初めギアが噛み合わなかったので、噛み合わせるために数時間無駄にした。プログラムを作って、動きもそれらしくなったから、紙に書いてみようとしたらタイヤに紙が絡まってうまくいかないこっとがっ多々あり、頑張って押えててもタイヤが指に当たったりして10回に6回は失敗した。その度に発狂しそうになった。 [#da6f692e] コメントどうぞ -せっかくなので void go_straight(int t) のような関数を定義してみましょう。少し簡明なプログラムになると思います。 -- [[松本(教員)]] &new{2005-11-11 (金) 22:46:44}; -プログラム自体は良くまとめられています。コメント文を入れるとより分かりやすくなるでしょう。 -- [[かとりーぬ(TA)]] &new{2005-11-25 (金) 19:06:38}; #comment