Hm ok... du meinst das also so:
Code:
while (1)
	{	for (x=0; x<4; x++) {
		switch(distance) {
			
			//Am Anfang der Strecke Vollgas
			case 0:MotorDir(FWD,FWD); 
			MotorSpeed(speed,speed); 
			break;
			//Am Ende langsamer werden...
			case 215:speed=200; 
			break;
			case 230:speed=150; 
			break;
			//...und stehen bleiben
			case 251:MotorDir(BREAK,BREAK); 
				//etwas warten, bis der Roboter wirklich steht
				for (i=0; i<100; i++)
				{
				Sleep(255); }
				//auf der Stelle nach links drehen
				MotorDir(RWD,FWD);
				speed=255;
				//und noch vermeiden, dass die Verzögerung
				//mehrmals aufgerufen wird
				distance=252;
				break;
			case 282: speed=200;
			break;
			case 288: speed=150;
			break;
			case 292: MotorDir(BREAK,BREAK);
				for (i=0; i<100; i++)
				{
				Sleep(255); }
				
				MotorDir(FWD,FWD);
				speed=255;
				distance=0;
				//und noch vermeiden, dass die Verzögerung
				//mehrmals aufgerufen wird
				
				break;
				}
				}							
					
			//Helligkeitswerte der Lichtschranken auslesen
			OdometrieData(data);
wenn ja: asuro macht nun garnichts mehr