Jump to content

Zufallsposition der Drehscheibe


jloos

Empfohlene Beiträge

Guten Morgen,

ich möchte an der Drehscheibe das Wechseln der Loks erreichen. Es stehen 6 Loks auf 6 Plätzen zur Verfügung. 

Es geht um die Benutzerdefinierte Funktion "BDE Lok im LS finden" finden.
Ich es mit einer Wiederholung, die mit Schlagwörtern im Lokschuppen sucht, das andere Mal mit einer Liste gemacht. Problem, in der Praxis wird beim Lok suchen immer wieder das selbe Gleis angesteuert. Ich möchte aber eine Zufallsfunktion (soweit man von Zufall reden kann), um unterschiedliche Loks vor den Zug zu spannen.

Ich habe das als Beispiel angehängt. 

Ich danke schon mal für Eure Hilfe,

Gruß Jürgen

 

230116_Anfrage DS Steuerung.mbp

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Jürgen,

gesetzt den Fall, es stehen immer 6 Loks im Lokschuppen:

  1. Definiere eine Variable als Zahl, die zufällig einen Wert zwischen 1 und 6 annimmt.
  2. Bei Zufall 1 steuert die Drehscheibe das Gleis 1 im Lokschuppen an. Dasselbe gilt für die anderen Zahlen und Gleise bis zur Zahl 6.
  3. Wenn die Drehscheibe ein Gleis aus dem Zufall angesteuert hat, wird die Lok, die auf diesem Gleis steht, abgerufen. (1 bis 6)
  4. Es ist vollkommen egal, welche Lok da steht. Es braucht weder Schlagwörter im Lokschuppen, noch in den Loks. Es braucht auch keine Listen.
  5. Solange die Variable nicht geändert wird, kann die ursprüngliche Lok am Zug auch genau dieses Gleis wieder besetzen.

Das ist aber nur mein Vorschlag. Vielleicht klappt es ja so.

HG
Brummi

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor einer Stunde schrieb jloos:

Ich möchte aber eine Zufallsfunktion

Statt die erste Lok zu benutzen, die du findest, könntest du jede Position, auf der eine Lok bereit steht, in eine Liste übertragen.
Und dann anschließend per Zufallszahl ein Element aus der Liste verwenden.

Um die Liste zu erstellen, wirst du aber nicht um Lua herum kommen. Und ich weiß gerade nicht, ob das für dich okay ist.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi

Wenn Du das allgemein halten willst, also nicht jedes Gleis mit einer Lok besetzt ist, dann würde ich mir eine Liste mit anlegen für die Gleise.
Eine Liste mit 6 Einträgen, jeder ein Boolescher Wert.
Beim Befahren setzt Du den auf True und beim Verlassen auf False.
Jetzt baust Du Dir eine Wiederholung, die einer Variablen z.B. Objektvariable "Zufall" an der Drehscheibe, einen Zufallswert 1 bis 6 zuweist.
Damit suchst Du in Deiner Liste an der Position "Zufall" nach einem Eintrag(Gleis) mit "True"
Das wiederholst Du so lange, bis ein Gleis mit "True" gefunden wurde.
Beim Einfahren machst Du das genau so, nur mit "False"

Das sollte alles auch ohne Lua machbar sein.

Damit gibt es immer unterschiedliche Abläufe.

Zur Sicherheit kannst Du noch Abfragen, ob überhaupt ein Gleis belegt ist.
Wenn nicht, einfach mit der Lok weiterfahren oder sie selbst wieder auf der Gegenseite vorspannen.

 

Bearbeitet von HaNNoveraNer
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

das mit der Zufallszahl ist gut. Ich ermittle eine Zufallszahl und lege eine Tabelle an, aus der ich den Gleiskontakt entnehme, auf dem die Lok steht, sowie den betreffenden Lokschuppen für die Animation.

Ich werde mal anfangen.

Vielen Dank

Gruß Jürgen 

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...

Hallo, 

zum Abschluss möchte ich noch zeigen, wie ich die Drehscheibe Steuerung gemacht habe. Der Link führt zu der Anlage, die ich zu einem anderen Thema hochgeladen habe. Da ich mit der Landschaftsgestaltung beschäftigt bin, stehen alle Züge in ihren Depots. Ebene Hilfsfunktionen aktivieren und einmal auf Zug aus Depot abrufen drücken. Dann geht's los. Irgendwann fährt ein Zug in dem Bereich des Lokschuppens und es erfolgt der automatische Lok Wechsel. 

Gruß Jürgen

https://community.3d-modellbahn.de/applications/core/interface/file/attachment.php?id=63692&key=9ca22723cdca2038b3d8537f2623b198

 

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

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