Jump to content

Empfohlene Beiträge

Geschrieben

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

Geschrieben (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.  

327929616_Screenshot2022-10-14182944.thumb.jpg.d86170a9a9d40fea9ae5ddd34edbf29f.jpg

Ein möglicher Lösungsvorschlag: 

Ein kleiner Eintrag im Skript.

Screenshot 2022-10-14 183153.jpg612924441_Screenshot2022-10-14183222.jpg.2dfdfed0344d684b8e0b577daee312e3.jpg

Mit "return" die Schleife verlassen, wenn ein "freier Parkplatz vorhanden ist.

80880061_Screenshot2022-10-14183133.thumb.jpg.a78060c04010470d556288ff703c5430.jpg

Dann findet der Wagen auch den ersten freien Parkplatz.

Viele Grüße, 

Hawkeye

Bearbeitet von Hawkeye
Geschrieben

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.
432468600_BlockadebeiParkplatzsuche.thumb.jpg.815a3bfcac2939f8827f63082d269d2c.jpg

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. 

218155852_ParkplatzsucheLsungsvorschlag1.jpg.93ed1ea6517504137e8e6740b1d5236e.jpg

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

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...