Hallo

Ich war mal so frei und habe deinen Code umformatiert. Ich kann das einfach nicht ertragen wie du uns hier quälst. Selbstverständlich darf jeder so programmieren wie er will und mein Stil ist sicher auch nicht der vorbildlichste. Die Bools habe ich wieder rausgeschmissen, weil sie dir offensichtlich nicht weiterhelfen und du sie auch nicht verstanden hast. Wichtigstes neues Hilfsmittel ist die if ... else if- Anwendung:

Code:
#include <stdio.h>
#include <asuro.h>

#define false 0 // quick&dirty!
#define true 1

int main(void)
{
   Init();
   char aC[2];

	unsigned char tanzen = true;
	unsigned char Beschleunigung = true;

   int z = 0, y = 0, t = 0, gas = 0, a = 50;

	while( 1 )
	{
	   gas=gas+1;

	   if (tanzen)
		{
	      MotorSpeed(120,120);

	   	if(gas < 5 )
	      	MotorDir(FWD,RWD);
	   		else if(gas < 15)
	      		MotorDir(RWD,FWD);
	   			else if(gas < 20)
		      		MotorDir(FWD,RWD);
	   				else if(gas < 30)
	      				MotorDir(FWD,FWD);
	   					else if(gas < 35)
		      				MotorDir(RWD,FWD);
		   					else if(gas < 45)
		      					MotorDir(FWD,RWD);
		   						else if(gas < 50)
		      						MotorDir(RWD,FWD);
		   							else if(gas < 60)
		      							MotorDir(RWD,RWD);
	   									else gas=0;
      }
		else MotorSpeed(0,0);

		if(Beschleunigung)
		{
	   	MotorDir(FWD,FREE);
	   	MotorSpeed(a,0);
	   	a=a+5;
			if(a > 255)
	   		a = 255;
		}
		else MotorDir(FREE,FREE);

	   utoa (z, aC, 10);
	   SerWrite(aC, 2);
	   SerWrite (" z\n\r", 5);
	   for (t=0; t< 120; t++)
	      Sleep (72);

	   utoa (a, aC, 10);
	   SerWrite(aC, 12);
	   SerWrite ("     a\n\r", 8);
	   for (t=0; t< 120; t++)
        	Sleep (72);

	   if (z < 8)
			tanzen = true;
			else if (z < 12)
	   		Beschleunigung = true;

	   y++;
	   if (y > 5)
	   {
	      y=0;
		   z++;
	   	if (z > 15)
	      	z=0;
		}
	}
   return 0;
   a = 0; // ???
}
Wenn ich beim Editieren (1,5Std!) keinen Fehler gemacht habe, sollte es wieder (fast) genau die selbe Funktion haben wie dein aktueller Code. Zur Übung könnest du hier mal erklärende Kommentare einfügen und die oben gemachten Änderungsvorschläge einbauen.

Gruß

mic