Zum Inhalt springen

Großes Problem! Logo-Roboter-Labyrinth


Raira

Empfohlene Beiträge

Hallo,

also erstmal muss ich sagen,dass ich kein Informatiker bin,sondern dieses Fach lediglich dieses Jahr in der Schule gewählt habe.

Ich bin gleich auf ein Problem gestoßen

Unsere Aufgabe lautet:

In Logo einen Roboter programmieren,der aus jedem Labyrinth rausfindet (aus dem es geht)

und was wir über das Labyrinth wissen:

Wanddicke 10

Wandfarbe schwarz [ 0 0 0]

Eingangsfarbe blau

Ausgangsfarbe grün

Also habe ich einen Rechtsgeher entworfen,der immer rechts geht, wenn er kann und wenn nicht sich je nach Farbe etc. so dreht,dass er rechts gehen kann.

Die Prozedur sieht folgendermaßen aus:

pr robo

setpencolor [255 0 0]

setpensize [10]

re 90

sh

vw 10

wenn gleich? pixel [0 0 255] [rw 10 sa vw 10 ende]

wenn gleich? pixel [255 255 255] [rw 10 sa vw 10 robo]

wenn gleich? pixel [255 0 0] [rw 10 li 90 vw 10

wenn gleich? pixel [255 255 255] [rw 10 sa vw 10 robo]]

wenn gleich? pixel [0 0 0] [rw 10 li 90 vw 10

wenn gleich? pixel [255 255 255] [rw 10 sa vw 10 robo]

wenn gleich? pixel [0 0 0] [rw 10 li 90 vw 10

wenn gleich? pixel [255 255 255] [rw 10 sa vw 10 robo]

wenn gleich? pixel [0 0 0] [rw 10 li 90 robo]]]

ende

Das kommt dann auch wunderbar durch "normale"Labyrinthe durch:

my.php?image=logo1yi3.png

Das Problem sind dann etwa solche "Sackgassen".

Zufällig bin ich darauf gekommen,dass es bei einfachen Sackgassen, also wo der Igel einfach nur wieder rückwärts rauslaufen muss, es gut funktioniert, wenn man zwischen den letzten Teil der Prozedur und "ende" einfach noch einfügt:

"setpencolor [ 0 255 255 ] (türkis)

rw 10

sa

vw 10

robo"

Allerdings gibt es noch folgende Problemsackgassen:

my.php?image=logo2hh0.png

my.php?image=logo3wh8.png

Und hier liegt mein wirkliches Problem:

ich komm einfach nicht dahinter, wie ich ´dem Programm sage, dass es solang der roten Spur folgen kann, bis der Rechtsgeher wieder funktioniert.

Wie man, denke ich, erkennen müsste liegt dem ganzen ja die Rekursion zur Grunde.

Dieser Zusatz,der dazu führt "einfache Sackgassen" auch lösen zu können, ist denke ich, nicht ausbaufähig und es war eher Zufall,dass sich das ergeben hat.

Hat jemand von euch vielleicht eine Idee, wie ich mein Programm in dieser Hinsicht erweitern kann?

Es ist wirklich sehr wichtig.

Vielen Dank schon im Vorraus,

Raira

Achja,dass die Bilder nicht funktionieren, hab ich leider auch gemerkt, aber ich kümmer mich da morgen drum,vielleicht kann ja jemand mein Problem trotzdem [ansatzweise] verstehen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...