Hallo

Irgendwas wiederspricht sich da

Code:
#include <stdbool.h>
#include <stdio.h> 
#include <asuro.h>
	int main(void)
{
	Init();
	char aC[2];


bool tanzen = true;
bool B = true;//(Beschleunigung)
	
	int LANG = 0,z = 0,y = 0,t = 0,gas = 0,a = 50;
/*******************************************************************************************/
while( 1 )
{
	LANG=LANG+2;
	gas=gas+1;



	if (tanzen == true)
{		
		MotorSpeed(120,120);
	if((gas >  0) && (gas < 5 ))
		MotorDir(FWD,RWD);
	if((gas >  5) && (gas < 15))
		MotorDir(RWD,FWD);
	if((gas > 15) && (gas < 20))
		MotorDir(FWD,RWD);
	if((gas > 20) && (gas < 30))	
		MotorDir(FWD,FWD);
	if((gas > 30) && (gas < 35))
		MotorDir(RWD,FWD);
	if((gas > 35) && (gas < 45))
		MotorDir(FWD,RWD);
	if((gas > 45) && (gas < 50))
		MotorDir(RWD,FWD);
	if((gas > 50) && (gas < 60))	
		MotorDir(RWD,RWD);
	if (gas > 60)
		gas=0;
}		
	
	if (tanzen == false)	
		MotorSpeed(0,0);		
/************************************/

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

if(B == false)
	MotorDir(FREE,FREE);



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

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


	y++;
	if (y > 5)
		z++;
	if (y > 5)	
		y=0;

	
	if ((z > 0) && (z < 8))			
		
	tanzen = true;

	if ((z > 8) && (z < 12))		
	B = true;
		

	if (z > 15)
		z=0;
	
	
}
	return 0;
}


Er beschleunigt auf 255 hält die geschw immer auch wenn lang > 30 (also es wieder bei 0 beginnt)ist fährt er noch mit 255) // km/h


Könnt ihr mir da helfen?

Lg