2つのギアでキャタピラを動かし、残り1つのギアでペンを動かします。ゴムを使い2本の棒を回転させ、アームを動かします。
#define MOVE_TURN 165 //90度旋回時間 #define TURN_BACK 130 //旋回後微調整時間 #define AMARI 80 //旋回前微調整時間 #define TATE 60 //縦への移動時間 #define YOKO 100 //横への移動時間 sub turn_right() { OnFwd(OUT_C); OnRev(OUT_A); Wait(MOVE_TURN); Rev(OUT_A+OUT_C); Wait(TURN_BACK); Off(OUT_A+OUT_C); } //右への90度旋回
task main() { OnFwd(OUT_B); Wait(20); Off(OUT_B); OnRev(OUT_A+OUT_C); Wait(TATE); Off(OUT_A+OUT_C); OnRev(OUT_B); Wait(7); Off(OUT_B); //ここで一画目が終了 OnFwd(OUT_A+OUT_C); Wait(TATE); Fwd(OUT_A+OUT_C); Wait(AMARI); turn_right(); OnFwd(OUT_B); Wait(20); //ここから二画目:横 Off(OUT_B); OnFwd(OUT_A+OUT_C); Wait(YOKO); Off(OUT_A+OUT_C); OnRev(OUT_B); Wait(7); Off(OUT_B); OnFwd(OUT_A+OUT_C); Wait(AMARI); Off(OUT_A+OUT_C); turn_right(); //右へ90度旋回 OnFwd(OUT_B); Wait(20); Off(OUT_B); OnFwd(OUT_A+ OnFwd(OUT_B); Wait(20); //二画目:縦 Off(OUT_B);OUT_C); Wait(TATE); Off(OUT_A+OUT_C); OnRev(OUT_B); Wait(10); Off(OUT_C); OnFwd(OUT_A+OUT_C); Wait(AMARI); turn_right(); //右へ90度旋回 OnFwd(OUT_A+OUT_C); Wait(YOKO); Off(OUT_A+OUT_C); OnRev(OUT_A+OUT_C); Wait(YOKO);//三画目 Off(OUT_A+OUT_C); OnRev(OUT_B); Wait(10); Off(OUT_B); OnFwd(OUT_A+OUT_C); Wait(AMARI); Fwd(OUT_A+OUT_C); Wait(34); turn_right(); //右へ90度旋回 OnFwd(OUT_A+OUT_C); Wait(100); Off(OUT_A+OUT_C); OnFwd(OUT_B); Wait(20); Off(OUT_B); OnRev(OUT_A+OUT_C); Wait(200);//四画目 Off(OUT_A+OUT_C); //停止 }