dbahr Geschrieben 14. Oktober 2022 Geschrieben 14. Oktober 2022 Hallo miteinander! Im Anhang eine Testanlage mit dem Ziel, den ersten freien Parkplatz zu finden. Die Parkplätze 1 bis 5 haben je eine Boolsche Variable "Frei". In einer Wiederholung frage ich ab, welcher Parkplatz in der Liste "Parkplätze" des Kontaktes "Zufahrt Parkplatz" frei wäre. Irgendwie funktioniert das nicht so - ein Denkfehler von mir liegt vermutlich vor. Bitte um einen Tipp, wie es richtig sein sollte. Danke im Voraus und liebe Grüße Detlef Parkplatzsuche.mbp
Hawkeye Geschrieben 14. Oktober 2022 Geschrieben 14. Oktober 2022 (bearbeitet) Hallo @dbahr, du musst die Schleife auch verlassen, wenn du einen freien Parkplatz gefunden hast. Dein Programm prüft alle freien Plätze, aber sucht trotzdem weiter. Ein möglicher Lösungsvorschlag: Ein kleiner Eintrag im Skript. Mit "return" die Schleife verlassen, wenn ein "freier Parkplatz vorhanden ist. Dann findet der Wagen auch den ersten freien Parkplatz. Viele Grüße, Hawkeye Bearbeitet 14. Oktober 2022 von Hawkeye
tim-fischertechnik Geschrieben 14. Oktober 2022 Geschrieben 14. Oktober 2022 Hallo @dbahr, schönes Beispiel! Ich habe noch einen kleinen Verbesserungsvorschlag. Wenn mehrere Fahrzeuge direkt hintereinander auf der Straße in Richtung der Parkplätze fahren, dann werden mehreren Fahrzeugen dasselbe Ziel für die Parklücke zugewiesen. Entsprechend kommt es zu einer Blockade wie auf dem hier gezeigten Bild. Es wird sowohl dem ersten Fahrzeug (Pajero) als auch dem zweiten Fahrzeug (SUV 2) derselbe Parkplatz als Ziel (Parkplatz 4) zugewiesen! Das Problem liegt in der zeitlichen Reihenfolge, wann du den Parkplatz als belegt (Variable: frei = false) deklarierst. Momentan gilt der Parkplatzt erst dann belegt, wenn das Fahrzeug den Gleiskontakt mit dem Schlagwort Parkplatz betritt. In der Zwischenzeit betritt ein weiteres Fahrzeug jedoch den Gleiskontakt "Zufahrt Parkplatz" und der Parkplatz 4 wird irrtümlicherweise als frei deklariert, obwohl das erste Fahrzeug kurzerhand diese Position ansteuert und bald erreichen wird. Die Lösung des zeitlichen Problems besteht darin, dass du die Parkposition direkt als belegt deklarierst, nachdem dem Fahrzeug das Ziel zugewiesen wurde. Damit kannst du dir das zweite Ereignis "Kontakt Parkplatz wird betreten" sparen. Viele Grüße Tim
dbahr Geschrieben 15. Oktober 2022 Autor Geschrieben 15. Oktober 2022 Vielen Dank für eure Lösungsvorsachläge. Tja, das mit der Schleife - der eigentliche Denkfehler. Liebe Grüße Detlef
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen.
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden