#define ANIM_SPEED1 <90> #define ANIM_SPEED2 <180> #define FL_STATE1 turn actuator1 to y-axis <-75> speed ANIM_SPEED2; #define FL_STATE2 turn thigh1 to x-axis <-45> speed ANIM_SPEED1; turn leg1 to x-axis <45> speed ANIM_SPEED1; #define FL_RESET1 turn thigh1 to x-axis 0 speed ANIM_SPEED2; turn leg1 to x-axis 0 speed ANIM_SPEED2; #define FL_RESET2 turn actuator1 to y-axis 0 speed ANIM_SPEED2; #define FL_WAIT1 wait-for-turn actuator1 around y-axis; #define FL_WAIT2 wait-for-turn thigh1 around x-axis; wait-for-turn leg1 around x-axis; #define FR_STATE1 turn actuator2 to y-axis <75> speed ANIM_SPEED2; #define FR_STATE2 turn thigh2 to x-axis <-45> speed ANIM_SPEED1; turn leg2 to x-axis <45> speed ANIM_SPEED1; #define FR_RESET1 turn thigh2 to x-axis 0 speed ANIM_SPEED2; turn leg2 to x-axis 0 speed ANIM_SPEED2; #define FR_RESET2 turn actuator2 to y-axis 0 speed ANIM_SPEED2; #define FR_WAIT1 wait-for-turn actuator2 around y-axis; #define FR_WAIT2 wait-for-turn thigh2 around x-axis; wait-for-turn leg2 around x-axis; #define RL_STATE1 turn actuator3 to y-axis <75> speed ANIM_SPEED2; #define RL_STATE2 turn thigh3 to x-axis <45> speed ANIM_SPEED1; turn leg3 to x-axis <-45> speed ANIM_SPEED1; #define RL_RESET1 turn thigh3 to x-axis 0 speed ANIM_SPEED2; turn leg3 to x-axis 0 speed ANIM_SPEED2; #define RL_RESET2 turn actuator3 to y-axis 0 speed ANIM_SPEED2; #define RL_WAIT1 wait-for-turn actuator3 around y-axis; #define RL_WAIT2 wait-for-turn thigh3 around x-axis; wait-for-turn leg3 around x-axis; #define RR_STATE1 turn actuator4 to y-axis <-75> speed ANIM_SPEED2; #define RR_STATE2 turn thigh4 to x-axis <45> speed ANIM_SPEED1; turn leg4 to x-axis <-45> speed ANIM_SPEED1; #define RR_RESET1 turn thigh4 to x-axis 0 speed ANIM_SPEED2; turn leg4 to x-axis 0 speed ANIM_SPEED2; #define RR_RESET2 turn actuator4 to y-axis 0 speed ANIM_SPEED2; #define RR_WAIT1 wait-for-turn actuator4 around y-axis; #define RR_WAIT2 wait-for-turn thigh4 around x-axis; wait-for-turn leg4 around x-axis; #define PULL_LEFT FL_STATE1 RL_RESET2 #define PULL_RIGHT FR_STATE1 RR_RESET2 #define PUSH_LEFT FL_RESET2 RL_STATE1 #define PUSH_RIGHT FR_RESET2 RR_STATE1 #define RAISE_LEFT FL_STATE2 #define RAISE_RIGHT #define WAIT1 FL_WAIT1 RL_WAIT1 FR_WAIT1 RR_WAIT1 #define WAIT2 FL_WAIT2 RL_WAIT2 FR_WAIT2 RR_WAIT2 #define RESET_LEFT FL_STATE2 RL_STATE2 FL_RESET2 RL_RESET2 FL_WAIT2 RL_WAIT2 #define RESET_RIGHT FR_STATE2 RR_STATE2 FR_RESET2 RR_RESET2 FR_WAIT2 RR_WAIT2 RestoreAfterDelay(delay) { sleep delay; turn turret to y-axis 0 speed <90>; turn sleeve to x-axis 0 speed <90>; turn actuator1 to y-axis <-45> now; turn actuator2 to y-axis <45> now; turn actuator3 to y-axis <45> now; turn actuator4 to y-axis <-45> now; } WalkAnimation() { var state; state = 0; while (TRUE) { if (isMoving) { PULL_LEFT PUSH_RIGHT WAIT1 } else sleep 250; } }