これまで住んだことのある都道府県名、市町村名、地区名などの中から2文字以上、かつ合計10画以上のものを選び、それをA4の紙に書くロボットを製作する。
今回私たちは大田区という文字を選んだ。
より描きやすくするため、ロボットが円を綺麗に書けることから田、区の一部を円で書きあらわすことにした。
#define sen_right(t) OnRev(OUT_C,40);Wait(t);Off(OUT_C); #define sen_left(t) OnFwd(OUT_B,40);Wait(t);Off(OUT_B); #define up OnRev(OUT_A,40);Wait(500);Off(OUT_A); #define down OnFwd(OUT_A,40);Wait(500);Off(OUT_A); #define go(t) OnFwd(OUT_BC,40);Wait(t);Off(OUT_BC); #define back(t) OnRev(OUT_BC,40);Wait(t);Off(OUT_BC); task main() { go(450); //「大」1画目 up; sen_left(800); back(700); down; //「大」2画目 go(800); up; back(500); down; //「大」3画目 sen_left(700) go(100) sen_left(700) go(100) up; sen_left(800); go(200); down; OnFwd(OUT_B,60); //「田」1画目 Wait(4900); Off(OUT_B); up; OnRev(OUT_C,40); Wait(300); OnFwd(OUT_B,40); Wait(300); Off(OUT_BC); down; //「田」2画目 OnFwd(OUT_BC,40); Wait(500); Off(OUT_BC); up; OnRev(OUT_BC,40); Wait(800); Off(OUT_BC); OnFwd(OUT_C,50); Wait(1500); Off(OUT_C); OnFwd(OUT_BC,40); Wait(100); Off(OUT_BC); OnRev(OUT_BC,40); Wait(1400); Off(OUT_BC); down; //「田」3画目 OnRev(OUT_BC,40); Wait(100); Off(OUT_BC); up; OnRev(OUT_BC,40); Wait(800); Off(OUT_BC); OnFwd(OUT_C,50); Wait(1500); Off(OUT_C); OnFwd(OUT_BC,40); Wait(100); Off(OUT_BC); OnRev(OUT_BC,40); Wait(1400); Off(OUT_BC); down; OnRev(OUT_BC,40); Wait(100); Off(OUT_BC); up; sen_left(700); go(500); sen_left(2900); down; //「区」1画目 sen_left(5500); up; sen_right(500); go(300); down; //「区」2画目 back(200); up; sen_left(2400); back(500); down //「区」3画目 go(100) }
[defineで定義した動きの意味]
区がうまくいかなかった。