Danke erstmal für die hilfreichen Tipps.
Mit Funktionen habe ich mich bis jetzt gar nicht so intensiv beschäftigt, aber das wird sich in Zukunft ändern. Dadurch wird wirklich vieles übersichtlicher.
@Sisor:
Ich habe dein Programm mal auf meinen Asuro geflashed, aber er macht das gleiche wie bei meiner ursprünglichen Variante. Beim Compilen bin ich aber auf folgende Meldung gestoßen:
test.c:165: warning: the address of 'isHindernis' will always evaluate as 'true'
test.c:174: warning: the address of 'isHindernis' will always evaluate as 'true'
test.c:191: warning: the address of 'isHindernis' will always evaluate as 'true'
Das heißt doch, dass die Anweisungen, die für den Fall dass kein Hindernis da ist, ausgeführt werden sollten, nie ausgeführt werden, oder? Und genau das sieht man auch am Asuro: Er macht nur das, was er machen soll wenn er auf ein Hindernis stößt: rücksetzen und drehen, nie geradeaus fahren. Ich habe mir den Programmcode noch einmal angesehn, aber auch mit deiner übersichtlichen Variante finde ich den Fehler nicht.
@i_make_it:
diesen Fall würde ich beim Labyrinthbau einfach umgehen und nur die Umkehrung davon verwenden, d.h. er kommt in deinem Bild vom Ausgang und fährt in eine Richtung und dann kann er entweder eine Sackgasse finden oder eben den richtigen Weg. Das habe ich mit Papier und Stift auch schon ausprobiert. Wenn mein Programm so funktionieren würde wie es soll, dann müsste das funktionieren. Aber Danke trotzdem für deine Überlegungen.
Lesezeichen