#define pen_down OnFwd(OUT_A);Wait(100);Off(OUT_A) #define pen_up OnRev(OUT_A);Wait(100);Off(OUT_A) #define move_up OnFwd(OUT_B+OUT_C) #define move_down OnRev(OUT_B+OUT_C) #define move_right OnFwd(OUT_B);OnRev(OUT_C) #define move_left OnFwd(OUT_C);OnRev(OUT_B) #define move_stop Float(OUT_B+OUT_C) #define stop Off(OUT_B+OUT_C) #define time_a 200 #define time_b 150 #define time_c 160 #define time_d 250 #define time_e 100 #define time_f 120 #define time_g 170 #define time_h #define time_i #define time_j #define wait(t) Wait(UNITTIME*t) sub turn_right() { ¡¡move_right; wait(150); } sub turn_left() { ¡¡move_left; wait(150); } task main { pen_down; move_up; wait(time_a) turn_right(); move_up; wait(time_b); pen_up; stop; turn_right; move_up; wait(time_a); stop; pen_down; move_down; wait(time_a); stop; pen_up; move_up; wait(time_a); stop; turn_left; stop; pen_down; move_up; wait(time_b); stop; turn_left; move_up; wait(time_c); stop; turn_right; move_up; wait(time_d); move_right; wait(160); move_up; wait(time_e); move_stop; pen_up; move_down; wait(time_e); stop; move_left; wait(160); repeat(2){move_left} move_up; wait(time_b+time_b+time_d+100); move_stop; turn_right; move_up; wait(time_f); move_stop; move_right; wait(160); stop; pen_down; move_up; wait(time_g); move_stop; pen_up; move_down; wait(100); move_left; wait(300); stop; pen_down; move_up; wait(time_h); move_stop; pen_up; move_down; wait(time_h/2); stop; turn_right; pen_down; move_up; wait(time_i); stop; move_right; wait(160); move_up; wait(time_e); move_stop; pen_up; move_down; wait(time_e); stop; move_left; wait(160); repeat(2) { turn_left ; } move_up; wait(time_2*i/3); stop; turn_left; move_up; wait(100); stop; move_turn; wait(100); stop; pen_down; move_up; wait(time_j); move_stop; pen_up; move_down; wait(time_j); stop; move_right; wait(100); repeat(2) { turn_right; } move_up; wait(200); stop; move_right; wait(100); stop; pen_down; move_up; wait(time_j); move_stop; pen_up; move_right; wait(150); move_up; wait(300); move_stop; }