Hallo
Erstaunlich finde ich, dass er nach dem Ausweichen überhaupt weiterfährt. Ich vermute, rotate() und move() setzen die Geschwindigeit neu und diese wird dann von moveAtSpeed() übernommen. Gegenmassnahme wäre dann am Ende jedes If-Zweiges nochmals ein moveAtSpeed()-Befehl. Zusammen mit dem changeDirection(FWD); könntest du daraus auch eine kleine Funktion machen:
Code:
void fahren(char speed)
{
changeDirection(FWD);
moveAtSpeed(speed, speed);
}
Das solltest du vielleicht nochmals überdenken:
for(a = 0;a>10000;a++)
Ich hab' deinen Code etwas formatiert weil ich dann besser durchblicke. Ich hoffe, es war in deinem Sinne :)
Gruß
mic
Lesezeichen