All pastes #986435 Raw Edit

Zeug

public text v1 · immutable
·published 2008-04-15 20:07 UTC
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;
		}
	}
...