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:
Das solltest du vielleicht nochmals überdenken:Code:void fahren(char speed) { changeDirection(FWD); moveAtSpeed(speed, speed); }
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







Zitieren

Lesezeichen