[[2005/C4/課題1]] **改良したプログラム [#yc510bf5] #define PENUP_TIME1 11 #define PENUP_TIME2 12 #define GO_TIME1 50 #define GO_TIME2 90 #define GO_TIME3 45 sub pen_up1() { OnFwd(OUT_B);Wait(PENUP_TIME1);Off(OUT_B); } sub pen_up2() { OnFwd(OUT_B);Wait(PENUP_TIME2);Off(OUT_B); } sub go_fwd1() { OnFwd(OUT_A+OUT_C);Wait(GO_TIME1);Off(OUT_A+OUT_C); } sub go_fwd2() { OnFwd(OUT_A+OUT_C);Wait(GO_TIME2);Off(OUT_A+OUT_C); } sub go_fwd3() { OnFwd(OUT_A+OUT_C);Wait(GO_TIME3);Off(OUT_A+OUT_C); } sub go_rev1() { OnRev(OUT_A+OUT_C);Wait(GO_TIME3);Off(OUT_A+OUT_C); } sub turn_right() { OnFwd(OUT_A);OnRev(OUT_C);Wait(GO_TIME1); Off(OUT_A+OUT_C); } task main() { OnFwd(OUT_A); Wait(175); Off(OUT_A); pen_up1(); turn_right(); Off(OUT_A+OUT_C); go_fwd1(); OnFwd(OUT_A); OnRev(OUT_C); Wait(100); Off(OUT_A+OUT_C); go_fwd2(); pen_up1(); go_fwd2(); pen_up2(); OnFwd(OUT_A); OnRev(OUT_C); Wait(190); OnFwd(OUT_A+OUT_C); Wait(98); OnRev(OUT_A); OnFwd(OUT_C); Wait(79); OnFwd(OUT_A+OUT_C); Wait(70); pen_up2(); OnFwd(OUT_A+OUT_C); Wait(30); pen_up2(); OnRev(OUT_A+OUT_C); Wait(82); OnRev(OUT_A); OnFwd(OUT_C); Wait(92); OnFwd(OUT_A+OUT_C); Wait(28); pen_up1(); go_fwd1(); pen_up1(); OnRev(OUT_A+OUT_C); Wait(41); Off(OUT_A+OUT_C); OnRev(OUT_C); OnFwd(OUT_A); Wait(92); Off(OUT_A+OUT_C); go_fwd3(); pen_up1(); OnFwd(OUT_A+OUT_C); Wait(30); Off(OUT_A+OUT_C); pen_up2(); go_rev1(); OnRev(OUT_C); OnFwd(OUT_A); Wait(102); Off(OUT_A+OUT_C); go_fwd3(); pen_up2(); go_fwd1(); } **改良した点 [#u17bd10b] サブルーチンを全く使っていなかったプログラムをサブルーチンを使って書き直しました。 コメントをお願いします #comment