[[2019a/Member/mikoto/Mission1]] #contents *課題1 [#q9faf2e6] これまで住んだことのある都道府県名、市町村名、地区名などの中から2文字以上、かつ合計10画以上のものを選び、それをA4の紙を書くロボットを製作せよ。 **選んだ文字 [#y55e8fc2] 地元であり、また書きやすい「上田」にしようと考えたが、画数が少なかったため、&size(25){上田市}; にした。 *ロボットの説明 [#j74de017] *プログラムの説明 [#l0802dd6] **書き順 [#febd3f23] **プログラムを書く際の工夫 [#c5efc5d0] ・プログラムが長くなることが予想されたので、定義や変数を駆使して短く書きやすくなるようにした。 ・定義名を日本語にしたので、美しいとは言い難いが視覚的に分かりやすい。 **プログラムの定義 [#r6b3ca0e] #define pen_sage OnRev(OUT_B,15);Wait(300);Off(OUT_B); //ペンを下げる #define pen_age OnFwd(OUT_B,15);Wait(300);Off(OUT_B); //ペンを上げる #define tate(s) OnFwd(OUT_A,25);Wait(s);Off(OUT_A); //縦画を書く #define yoko(s) OnFwd(OUT_C,30);Wait(s);Off(OUT_C); //横画を書く #define return_t(s) OnRev(OUT_A,25);Wait(s);Off(OUT_A); //縦方向に戻る #define return_y(s) OnRev(OUT_C,30);Wait(s);Off(OUT_C); //横方向に戻る **「上」を書くプログラム [#i2bb17cc] task main () { pen_sage; yoko(300); pen_age; tate(1000); return_y(950); pen_sage; yoko(980); pen_age; return_y(480); return_t(2000); pen_sage; tate(2000); pen_age; **「田」を書くプログラム [#sc1d71a2] tate(300); return_y(270); pen_sage; tate(1200); pen_age; return_t(1200); pen_sage; yoko(700); tate(1200); pen_age; return_y(450); return_t(1200); pen_sage; tate(1200); pen_age; return_t(600); return_y(270); pen_sage; yoko(700); pen_age; return_y(700); tate(600); pen_sage; yoko(700); pen_age; **「市」を書くプログラム [#lf6bd874] return_y(450); tate(300); pen_sage; tate(300); pen_age; return_y(450); pen_sage; yoko(980); pen_age; return_y(700); tate(300); pen_sage; tate(450); pen_age; return_t(450); pen_sage; yoko(600); tate(450); return_y(100); pen_age; return_y(300); return_t(750); pen_sage; tate(900); pen_age; } *反省・改善点 [#q768956c] ・時間が無く、妥協が目立った。また、せっかくロボットをxy型にしたが、座標計算が雑で狙い通りの線が引けなかった。次はさらにクオリティの高いものを作りたい。