perm filename WALK.SAI[GEM,BGB]1 blob sn#064459 filedate 1973-10-01 generic text, type T, neo UTF8
COMMENT ⊗   VALID 00003 PAGES 
RECORD PAGE   DESCRIPTION
 00001 00001
 00002 00002	BEGIN "WALK"
 00003 00003	α RAISE THREE OF THE LEGS OFF THE GROUND.
 00005 ENDMK
⊗;
BEGIN "WALK"
	REQUIRE "ABBREV[SYS,BGB]" SOURCE_FILE;
	REQUIRE "GEOMES.HDR[GEM,HE]" SOURCE_FILE;
	ITG BUG,I,J,K;
	REAL DEL1,DEL2;
	ITG LEG1,LEG2,LEG3,LEG4,LEG5,LEG6;
	ITG HI1,HI2,HI3,HI4,HI5,HI6;
	ITG LO1,LO2,LO3,LO4,LO5,LO6;

	ITG ARRAY LEG[1:6];
	GEONIT;

	BUG ← IGEM("BUG[GEM,BGB]");
	LEG1←SON(BUG);LEG2←SIS(LEG1);LEG3←SIS(LEG2);
	LEG4←SIS(LEG3);LEG5←SIS(LEG4);LEG6←SIS(LEG5);

	HI1←SON(LEG1);LO1←SON(HI1);
	HI2←SON(LEG2);LO2←SON(HI2);
	HI3←SON(LEG3);LO3←SON(HI3);
	HI4←SON(LEG4);LO4←SON(HI4);
	HI5←SON(LEG5);LO5←SON(HI5);
	HI6←SON(LEG6);LO6←SON(HI6);

α RAISE THREE OF THE LEGS OFF THE GROUND.;
	DEL2 ← (π/6);
	ROTATE(-HI1,0,0,DEL2);
	ROTATE(-HI5,0,0,DEL2);
	ROTATE(-HI3,0,0,DEL2);
	SHOW1(0,1);GEOMED;
	DEL1 ← π/50; J←4;
	DEL2 ← -DEL2/4;
	WHILE TRUE DO
BEGIN
	FOR I←1 STEP 1 UNTIL J DO
	BEGIN
		ROTATE(-LEG1,0, DEL1,0);
		ROTATE(-LEG2,0,-DEL1,0);
		ROTATE(-LEG3,0, DEL1,0);
		ROTATE(-LEG4,0,-DEL1,0);
		ROTATE(-LEG5,0, DEL1,0);
		ROTATE(-LEG6,0,-DEL1,0);
	IF DEL1<0 THEN 
	⊂	ROTATE(-HI1,0,0,DEL2);
		ROTATE(-HI3,0,0,DEL2);
		ROTATE(-HI5,0,0,DEL2);⊃ ELSE
	⊂	ROTATE(-HI2,0,0,-DEL2);
		ROTATE(-HI4,0,0,-DEL2);
		ROTATE(-HI6,0,0,-DEL2);⊃;
	IF I=4 THEN DEL2←-DEL2;
		SHOW1(0,1);
	END;
	DEL1 ← -DEL1; J←8;
	IF INCHRS≥0 THEN GEOMED;
END;
END "WALK";