[[2005/A3]] *序章 文字「左」を書く program editer Hideshi [#i983f7f2] **機体説明 [#o1dbe123] - [[機体概略>2005/A3/機体(1L)]] **基本プログラム [#wd9eee33] [#m527a634] sub Pen_Down() {OnFwd(OUT_B);Float(OUT_B);Wait(50);} sub Pen_Up() {OnRev(OUT_B);} void Right_Turn(int t){OnFwd(OUT_A);OnRev(OUT_C);Wait(t);} void Left_Turn(int t){OnFwd(OUT_C);OnRev(OUT_A);Wait(t);} void Back(int t) {OnRev(OUT_A+OUT_C);Wait(t);} void Go(int t){OnFwd(OUT_A+OUT_C);Wait(t);} sub Stop() {Off(OUT_A+OUT_C);Wait(50);} ***工夫点 [#bacf425b] ・左右を反対方向に 0.85 秒回せば、機体が 90 度回る事は多くの班で気づいている事だと思うけど、あえて sub で指示をせず、 void にして time 値を状況ごとに変えれるようにして微調整をおこないました。 **実際に動かす [#l3257f9a] task main() {Pen_Down();Wait(20); // The first straight Go(120);Pen_Up();Stop(); Back(85);Left_Turn(20); //Shift to the second curve Stop();Pen_Down();Wait(50);Right_Turn(70); //The second curve Pen_Up();Go(50);Left_Turn(50);Back(45);Stop(); //Shift to the third straight Pen_Down();Go(60);Stop();Pen_Up(); //The third straight Go(80);Left_Turn(85);Back(124);Stop(); //Shift to the fourth straight Pen_Down();Back(50);Stop(); //The fourth straight Pen_Up();Go(100);Left_Turn(85);Back(75);Stop(); //Shift to the fifth straight Pen_Down();Back(80);Stop(); //The fifth straight Pen_Up();Right_Turn(85);Back(50);Off(OUT_A+OUT_B+OUT_C);} **感想 [#c9f4ce01] ・機体はグループで話し合って作りましたが、プログラムは自分でしか作れないので大変でした。特に微調整に多くの時間をかけたけど、上手く書けたので良かったです。 *コメントをお願いします [#udd54ac0] -他の人が見ても理解しやすい様な工夫をするともっと良いと思う。プログラム自体は良いと思う。 -- [[ストップ]] &new{2005-11-18 (金) 15:27:00}; #comment