Ich habe es bereits einmal gesagt: Vergiss den Code! Beschreibe den Algorithmus doch erst einmal. Alles Basteln am Code ohne ein klares Verständnis vom Algorithmus ist ein sinnloses herumprobieren.
Und ich verstehe auch nicht, wo das Problem ist, das zu beschreiben. Alles, was man braucht, ist das erste Bild aus Deinem ersten Post.
Was muss der Hamster machen?
a) Er muss bis zur ersten Stufe gehen
b) So lange er auf einer Stufe nach unten steht:
b.1) Gehe Stufe herunter.
c) So lange er vor einer Stufe steht:
c.1) Gehe Stufe herauf.
d) gehe bis zur Ausgangsposition zurück
Jetzt haben wir das komplexe Problem in Teilschritte unterteilt. Jetzt können wir jedes Teilproblem betrachten.
Wie kann man bis zur ersten Stufe gehen? Der Hamster hat ja nur wenige Befehle. Damit muss man das zusammen bauen:
- Schritt vor
- Drehe rechts
- Wenn vorne NICHT frei ist, dann drehen wir wieder nach links und wissen: Wir sind einen Schritt vor gegangen und haben noch Boden unter uns. Damit können wir wieder vorne anfangen.
- Wenn vorne frei ist, dann sind wir über der Stufe nach unten. Das wollen wir aber noch nicht, denn wir wollten nur bis zur ersten Stufe gehen. Daher gehen wir einen Schritt zurück:
Rechts, vor, rechts, rechts
==>Fertig. Wir stehen nun vor der Stufe.
Genau so kann man nun die Stufe herunter gehen: Wie kann man das prüfen?
Wenn Du das im Kopf nicht durchspielen willst, dann mach es mit Stift und Papier. Mal auf einen Zettel dieses erste Bild. Und dann nimm irgend etwas, das der Hamster ist. Das kannst Du dann bewegen und drehen. So kannst Du alles durchspielen!
Und wenn Du Probleme hast, das durchzuspielen, dann übe es. Das ist der erste wichtige Schritt. Vorher mit Code herum zu spielen wird Dich nicht weiter bringen!