rendered paste body...
var heading;
while (TRUE)
{
if (moving)
{
heading = (get HEADING) + 32768;
sleep ANIM_SPEED;
heading = ((get HEADING) + 32768) - heading; // 0 to 65536 instead of -32768 to 32767
if (heading != 0) {
// Adding angle over time
angle = angle + heading;
// Reset angle when the direction changes
if ((heading > 0 AND angle < 0) OR (heading < 0 AND angle > 0)) {
angle = 0;
}
if (angle > 0) {
turn wheel3 to y-axis get MIN(angle,<15>) speed <240>;
turn wheel4 to y-axis get MIN(angle,<15>) speed <240>;
turn wheel5 to y-axis get MIN(angle,<45>) speed <240>;
turn wheel6 to y-axis get MIN(angle,<45>) speed <240>;
}
else if (angle < 0) {
turn wheel3 to y-axis get MAX(angle,<-15>) speed <240>;
turn wheel4 to y-axis get MAX(angle,<-15>) speed <240>;
turn wheel5 to y-axis get MAX(angle,<-45>) speed <240>;
turn wheel6 to y-axis get MAX(angle,<-45>) speed <240>;
}
// Goes straigth
else {
turn wheel3 to y-axis 0 speed <240>;
turn wheel4 to y-axis 0 speed <240>;
turn wheel5 to y-axis 0 speed <240>;
turn wheel6 to y-axis 0 speed <240>;
}
// Only a quarter is preserved for the next iteration
angle = angle/4;
}
// No change in direction, goes straight
else {
angle = 0;
turn wheel3 to y-axis 0 speed <240>;
turn wheel4 to y-axis 0 speed <240>;
turn wheel5 to y-axis 0 speed <240>;
turn wheel6 to y-axis 0 speed <240>;
}
}
else {
sleep ANIM_SPEED * 4;
}
}
...