目次 #contents *課題 [#m78cc0f4] **課題1 [#o2c06741] お絵描きロボットの作成 **メンバー [#yeec8ed3] マキロン・オれンジ *ロボットの作成 [#c0324a98] **作成したロボット [#pf2c7f43] 常にギリギリに生きる僕ら。今回も例外じゃあありません。助けを借りつつ作り上げた至高の一品。テーマはずばり「シンプル イズ ベスト」です。 我らがロボット #ref(rob.JPG); **苦労したところ [#db5bab61] 最大の関門はプログラム。ここでも助けをかりつつ、一生懸命やりました。 *プログラムの作成(マキロン編) [#bb2396d1] **作成したプログラム [#q5704b6f] #define age OnRev(OUT_B);Wait(10);Off(OUT_B); //ペンを上げる #define sage OnFwd(OUT_B);Wait(10);Off(OUT_B); //ペンを下げる #define go(t) OnFwd(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C); //前へ動く #define back(t) OnRev(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C); //後ろへ動く #define left(t) OnFwd(OUT_A);OnRev(OUT_C);Wait(t);Off(OUT_A+OUT_C); //左へ曲がる #define right(t) OnRev(OUT_A);OnFwd(OUT_C);Wait(t);Off(OUT_A+OUT_C); //右へ曲がる task main () {age; //輪郭を描く。 repeat(4) {sage; go(100); age; back(120); left(76); go(120);} back(30); //目を描く。 left(75); go(110); sage; go(25); age; go(10); sage; go(25); age; back(60); //口を描く。 right(20); sage; right(20); age;} **描いた似顔絵 [#d84f38a9] シンプルかつ芸術性を秘めた作品。 #ref(tuzi2.JPG); **苦労したところ [#r48bfe24] プログラムがまったく分からなかったので大変だった。 様々な人たちに教えてもらってプログラムを完成することができた。 やさしく丁寧に教えてくれた方々に感謝してます。 *プログラムの作成(オれンジ編) [#k6df6aaf] **作成したプログラム [#ya490420] #define kakukaku 80 int fire; %意味はないです #define left() OnFwd(OUT_A);OnRev(OUT_C);Wait(kakukaku);Off(OUT_A+OUT_C);%左回転 #define right() OnFwd(OUT_C);OnRev(OUT_A);Wait(kakukaku);Off(OUT_A+OUT_C);%右回転 #define draw() OnFwd(OUT_B);Wait(10);Off(OUT_B);%ペンをおろします #define rest() OnRev(OUT_B);Wait(10);Off(OUT_B);%ペンあげます #define en OnFwd(OUT_A);OnRev(OUT_C);Wait(160);Off(OUT_A+OUT_C);%まわります #define go(t) OnFwd(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C);%行きます #define back(t) OnRev(OUT_A+OUT_C);Wait(t);Off(OUT_A+OUT_C);%下がります #define TURN_TIME 220 #define turn_L() OnFwd(OUT_A);Wait(TURN_TIME);Off(OUT_A);%緩やかに左へ #define turn_R() OnFwd(OUT_C);Wait(TURN_TIME);Off(OUT_C);%緩やかに右へ #define hanen() rest();back(fire*5);left();go(fire*6);draw();en;rest();back (fire*6);right();go(fire*6);draw();%半円を描きます task main(){ fire=20; repeat(2){go(fire*3);hanen();}%輪郭描きます。 rest();left(); go(fire*10);draw();go(fire*3);%口描きます。 rest();back(fire*5);right();back(fire*4);draw();go(fire*2);%左目描きます。 rest();back(fire*2);right();go(fire*5);left();draw();go(fire*2);%右目描きます。 **描いた似顔絵 [#gbdcbdbb] オレンジ作 必死な作品 #ref(ore2.JPG); **苦労したところ [#m1277544] 知識の無さがやばかった。時間の経過に比例してくれないプログラムがしんどかった。 *まとめ [#x231eb4e] 助けを借りてなんとか完成できました。感謝感謝です。次回はもっと頑張りたいです。 *コメント [#da0afdbe] - プログラムに説明をつけてください。また、ロボットを説明する際には、パーツごとの説明、全体の説明に分けた方がわかりやすいと思います。例えば、今回の課題では、ペンの上げ下げの仕組みが一つのポイントです。 -- [[FI]] &new{2010-05-21 (金) 07:47:56}; - プログラムへの解説と写真の大きさを調整して下さい。課題のプログラムについては、「今は何の指示しているのか」を意識して書いてみると良いかもしれません -- [[TAKA]] &new{2010-05-21 (金) 12:03:22}; #comment