Andy Geschrieben 8. August 2019 Geschrieben 8. August 2019 EASY mach Dir mal keine Gedanken. Mit Dir hat's da gar nichts zu tun.
Goetz Geschrieben 10. August 2019 Geschrieben 10. August 2019 (bearbeitet) Am 05.08.2019 um 20:36 schrieb Roter Brummer: fünf Klötzchen, die immer sichtbar sein sollen. Diese fünf sollen aber bei jedem Würfeln ausnahmslos die Position wechseln Jetzt habe ich (endlich) die richtige Idee dazu gehabt. Mal schauen, ob ich es in verständliche Worte fassen kann, weil ich noch nicht die Ruhe habe es wirklich umzusetzen. Unser Enkelsohn meinte: "Schieb alle eins weiter. Dann hat jeder Klotz eine andere Position. So mach ich das immer." Für einen Neunjährigen fand ich das clever. Aber es wäre natürlich unbefriedigend, weil zu vorhersehbar und nicht zufällig genug. Deshalb hatte ich seinen Vorschlag gleich wieder verworfen. Zu Unrecht, wie ich gerade erkannte. Denn wenn man zuerst die fünf Würfel (mit ihren aktuellen Positionen!) in eine beliebige Reihenfolge bringt und dann den Ringtausch durchführt, dann kann jedes legitime Ergebnis herauskommen und garantiert kein Klotz an seinem Platz verbleiben. Nächste Woche probiere ich es gerne selbst aus. Aber wenn mir jemand zuvor kommen möchte: Nur zu. Ich würde mich freuen. Götz Korrektur: Auch wenn ich die Würfel vorab in eine beliebige Reihenfolge bringe und dann den Ringtausch durchführe, können nicht alle erdenklichen Lösungen entstehen. Denn bei diesem Ansatz können zwei Würfel nie ihre Plätze tauschen (was aber legitim wäre.) … Mist!!! Erweiterung der Methode: Im Prinzip kann es nur zwei Muster beim Positionswechsel geben. Entweder A: ein Ringtausch von 5 Positionen. Oder B: ein Ringtausch für drei Würfel und die verbleibenden zwei tauschen miteinander. Bitte dabei im Hinterkopf behalten, dass zuvor die Reihenfolge der Würfel zufällig geändert wurde. Die Tauschpartner sind also zufällig, aber die Positionsdaten werden anschließend nach einem der beiden genannten Muster weitergereicht. Alle legalen Ergebnisse stimmen mit einem der beiden Muster überein. Und die beiden Varianten verteilen sich (vermutlich) 50:50 auf die möglichen Ergebnisse. Wenn man also zufällig Muster A oder B auswählt und die Positionen der beliebig sortierten Würfel diesem Muster folgend weitergibt, dann müssten doch alle legitimen Ergebnisse dieselbe Chance haben und die nicht legitimen (mit Würfen am alten Platz) ausgeschlossen sein. Bearbeitet 10. August 2019 von Goetz Korrektur meiner Behauptung
Goetz Geschrieben 10. August 2019 Geschrieben 10. August 2019 Es hat mir doch keine Ruhe gelassen Das ist mein Vorschlag für das Skript: Wuerfel = {$("Quader_1"), $("Quader_2"), $("Quader_3"), $("Quader_4"), $("Quader_5")} Tausch = { [1] = function(w1, w2, w3, w4, w5) local temp = w1.transformation.position w1.transformation.position = w2.transformation.position w2.transformation.position = w3.transformation.position w3.transformation.position = w4.transformation.position w4.transformation.position = w5.transformation.position w5.transformation.position = temp end, [2] = function(w1, w2, w3, w4, w5) local temp = w1.transformation.position w1.transformation.position = w2.transformation.position w2.transformation.position = temp temp = w3.transformation.position w3.transformation.position = w4.transformation.position w4.transformation.position = w5.transformation.position w5.transformation.position = temp end } function neueAufgabe() for i = #Wuerfel, 2, -1 do table.insert(Wuerfel,table.remove(Wuerfel, math.random(i))) end Tausch[math.random(2)](Wuerfel[1], Wuerfel[2], Wuerfel[3], Wuerfel[4], Wuerfel[5]) end Die Würfel dürfen eine beliebige Startposition haben. Sie tauschen immer nur ihre Plätze. Drückt man den blauen Knopf (rechts), dann wird bei Stellung 1 die Funktion neueAufgabe() aufgerufen. Nach einer kurzen Verzögerung wird der Knopf wieder in Stellung 0 zurückgesetzt. Die Beispielanlage habe ich angehängt. Viel Spaß damit Götz TimeSaver Shuffle 01.mbp
Goetz Geschrieben 10. August 2019 Geschrieben 10. August 2019 Der aufwändige Mechanismus zum Tauschen der Werte muss in Lua eigentlich nicht sein. Denn Lua erlaubt diese Schreibweisen: a, b = b, a a, b, c, d, e = b, c, d, e, a Aber beim Versuch das so zu vereinfachen bin ich vorhin gescheitert. Drum habe ich den Tauschmechanismus erst einmal ganz klassisch geschrieben.
EASY Geschrieben 10. August 2019 Geschrieben 10. August 2019 Hallo Goetz, vor einer Stunde schrieb Goetz: Denn Lua erlaubt diese Schreibweisen: ... mußt Du Lua nur noch das Schreiben beibringen... dann geht es als Einzeiler... Gruß EASY
EASY Geschrieben 11. August 2019 Geschrieben 11. August 2019 Hallo Goetz, ... die Lösung ist (in positiven sinne gemeint) typisch für Dich Am 10.8.2019 um 12:10 schrieb Goetz: Am 5.8.2019 um 20:36 schrieb Roter Brummer: fünf Klötzchen, die immer sichtbar sein sollen. Diese fünf sollen aber bei jedem Würfeln ausnahmslos die Position wechseln ... ich kann nur nicht so ganz nachvollziehen, wie diese Bedingung (garantiert) erfüllt ist... Gruß EASY
Goetz Geschrieben 11. August 2019 Geschrieben 11. August 2019 vor 10 Minuten schrieb EASY: wie diese Bedingung (garantiert) erfüllt ist... Erkläre ich im Posting darüber. Zumindest habe ich es versucht. Ist nicht ganz leicht in Worte zu fassen. Wenn ich wieder mehr Zeit habe, dann versuche ich vielleicht mal es im Rahmen einer Twitch Sendung zu erklären. Mir würde es sehr helfen, wenn du dir vorab mein Posting durchlesen und dann sagen könntest, an welcher Stelle du den Faden verlierst.
EASY Geschrieben 11. August 2019 Geschrieben 11. August 2019 Hallo Goetz, vor 1 Stunde schrieb Goetz: Mir würde es sehr helfen, wenn du dir vorab mein Posting durchlesen und dann sagen könntest, an welcher Stelle du den Faden verlierst. ... wenn man schon zitiert, sollte man auch (noch einmal) alles lesen was da noch so alles steht...ich hatte mich nur auf das Skript konzentriert ... ... mit der darüberliegenden Erklärung ist der Faden wieder da... Gruß EASY
Goetz Geschrieben 11. August 2019 Geschrieben 11. August 2019 vor 2 Stunden schrieb EASY: mit der darüberliegenden Erklärung ist der Faden wieder da Oh, das freut mich. Dann ist meine Erklärung doch nicht so wirr, wie ich jetzt (ehrlich) befürchtet hatte. Danke für die Rückmeldung. Du musst dich da aber für nichts genieren. Es war nicht unbedingt erkennbar, dass ich in der Beispielanlage das zuvor beschriebene Prinzip auch angewendet hatte.
EASY Geschrieben 11. August 2019 Geschrieben 11. August 2019 Hallo Goetz, Am 10.8.2019 um 12:10 schrieb Goetz: Auch wenn ich die Würfel vorab in eine beliebige Reihenfolge bringe und dann den Ringtausch durchführe, können nicht alle erdenklichen Lösungen entstehen. Denn bei diesem Ansatz können zwei Würfel nie ihre Plätze tauschen (was aber legitim wäre.) … Mist!!! ... gibt es bei Methode 2 auch ein [theoretisch] "Mist!!!" oder könnte man auf die Möglichkeit auf Methode 1 verzichten? Gruß EASY
Goetz Geschrieben 11. August 2019 Geschrieben 11. August 2019 (bearbeitet) vor 10 Minuten schrieb EASY: gibt es bei Methode 2 auch ein [theoretisch] "Mist!" Ja, gibt es - sie deckt keins der Ergebnisse aus Methode 1 ab. Drum verwende ich beide und lass jedes Mal den Zufall entscheiden, ob ich die Funktion Tausch[1]() oder Tausch[2]() benutze. Bearbeitet 11. August 2019 von Goetz
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