🛝Toolio
Über Kontakt

🪜 Leiterlosspiel (Amidakuji)

Klicke auf Zeichne Leiter und das Tool legt eine vertikale Linie pro Spieler ab, danach werden waagerechte Querleitungen über 12 feste Reihen mit Math.random() verteilt. Da jede Querleitung nur zwei benachbarte Linien austauscht und keine zwei Querleitungen in derselben Reihe sich berühren dürfen, ist die gesamte Leiter mathematisch garantiert so konstruiert, dass jeder Spieler genau einem Ergebnis zugeordnet wird – niemand erhält doppelt, egal wo die Querleitungen landen. Tippe anschließend auf einen Namen und das Canvas zeichnet dieselbe Leiter erneut, wobei der Weg dieses Spielers markiert wird, sodass du den Entscheidungsprozess Schritt für Schritt verfolgen kannst, anstatt nur das Ergebnis zu erhalten.

Ladder Game generiert in deinem Browser eine zufällige Amidakuji (Geistbein)-Lottosleiter, indem es JavaScripts Math.random() verwendet, um die Querleitungen zu platzieren und die HTML Canvas API, um den Weg jedes Spielers bis zu einem eindeutigen Ergebnis zu zeichnen und zu animieren.

Tap a name to trace its path.

Von Grund auf privat. Dieses Tool läuft vollständig in deinem Browser — nichts, was du eingibst, wird hochgeladen oder gespeichert, und es funktioniert offline.

Über

Der Fairnessanspruch hier ist keine Marketingstrategie – er ergibt sich direkt aus der Art und Weise, wie die Querleitungen platziert werden. Jede der 12 Reihen wird erstellt, indem man über jedes Paar benachbarter Linien geht und Math.random() < 0,45 für eine Querleitung rollt, aber das Code-Script überspringt bewusst eine Position, wenn die links davon gerade eine Querleitung erhalten hat ("!(i > 0 && row[i-1])"). Dieser einzige Schutzmechanismus bedeutet, dass keine Reihe zwei sich überschneidende Austauschvorgänge enthalten kann, sodass jede Reihe alleine eine saubere Menge von nicht überschneidenden Austauschvorgängen darstellt – eine Permutation der Spalten. Zwölf solcher Reihen übereinander gestapelt entspricht einfach der Verkettung von zwölf Permutationen nacheinander, und eine Verkettung von Permutationen ist immer selbst eine Permutation. Deshalb ist es hier nicht nur unwahrscheinlich, dass zwei Spieler auf dasselbe Ergebnis landen, es ist strukturell unmöglich, unabhängig davon, wie die Zufallszahlen ausfallen.

Dieser Garantie umfasst jedoch nicht, wie *gleichmäßig* die Ergebnisse über alle möglichen Paarungen verteilt sind. Die Leiter verwendet immer dieselben 12 Reihen, egal wie viele Spieler du eingibst – die Quelle hat das als festen Konstantenwert definiert, nicht als etwas, das sich mit der Anzahl der Spieler vergrößert. Für den Spielerbereich von 3 bis 10, für den das Tool optimiert ist, reichen 12 Reihen mit unabhängigen 45%-Wahrscheinlichkeitswürfen aus, um das Gefühl eines echten Shuffles zu erzeugen. Wenn du jedoch 30 oder 50 Namen eingibst, sind 12 Reihen einfach nicht ausreichend, um nahezu alle möglichen Paarungen mit gleichmäßigen Chancen zu erreichen – die Leute landen eher in der Nähe der Spalte, in der sie begonnen haben, als bei einem wirklich gleichmäßigen Shuffle. Wenn du einen fairen Zufallsspiel für eine große Gruppe benötigst, ist ein flacher Zufallsgenerator mathematisch besser geeignet als eine Leiter mit maximal 12 Reihen.

Es ist auch direkt wahrzunehmen, was Math.random() ist und was nicht. Es ist der eingebaute Pseudozufallsgenerator des Browsers – schnell genug, um zu entscheiden, wer die Geschirrspülung macht, und es ist normalerweise nichts, was ein Teilnehmer von außerhalb der Seite beeinflussen kann. Aber es ist nicht kryptografisch sicher: sein innerer Zustand ist in der Theorie vorhersagbar, wenn jemand genügend Ausgaben beobachten kann oder das Algorithmus der Engine kennt, weshalb echte Geldlotterien, lizenzierte Lotterien und alles mit rechtlichen Folgen stattdessen crypto.getRandomValues() oder einen geprüften, zertifizierten Zufallsgenerator verwenden. Dieses Tool greift weder zu diesen beiden, und es braucht es nicht für die Aufteilung von Aufgaben oder das Entscheiden, wer Kaffee kauft – nur setze nicht echtes Preisgeld dahinter.

Auf der Interaktionsseite: "Zeichne Leiter" führt den gesamten Prozess der Querleitungsverteilung frisch durch, sodass jeder Klick ein unabhängiger Ziehungsversuch ist, der sich nicht an den letzten erinnert. "Alle zeigen" überspringt das Schritt-für-Schritt-Entdecken und druckt alle Spieler-Ergebnis-Paare auf derselben Leiter in einem Schritt. Es gibt in dieser Version keine eingebaute Speicher-, Export- oder Teilen-Funktion – die Leiter existiert nur als Pixel auf dem Canvas-Element, und das Neuladen der Seite löscht sie zusammen mit den beiden Textfeldern, die sich zurück auf die Beispielnamen und Preise zurücksetzen. Wenn du ein Ergebnis festhalten möchtest, ist der einzige Weg, das native Screenshot-Tool deines Browsers oder deines Geräts zu verwenden, bevor du dich von der Seite entfernst. Alles andere über das Tool ist genau wie beworben: es läuft vollständig clientseitig mit keinerlei Netzwerk-Anfragen nach dem Laden der Seite, sodass nichts, was du eingibst, jemals hochgeladen wird, und es funktioniert weiterhin, auch ohne Verbindung.

Verwendung

  1. Gib jeden Spielernamen in das Feld Spieler ein, einen Namen pro Zeile – die Beispielnamen (Amy, Ben, Cara, Dan) zeigen nur das Format an und können vollständig ersetzt werden.
  2. Gib die passenden Ergebnisse in das Feld Ergebnisse ein, eines pro Zeile – das Tool wird ablehnen, eine Leiter zu zeichnen und zeigt einen Fehler an, wenn die beiden Listen nicht die gleiche Anzahl an Zeilen haben.
  3. Klicke auf "Zeichne Leiter", um eine frische Runde von Math.random()-Aufrufen durchzuführen und eine brandneue Menge an Querleitungen auf dem Canvas zu enthüllen – jeder Klick ist ein unabhängiger Ziehungsversuch.
  4. Tippe oder klicke auf einen Spieler-Namen-Stein über der Leiter, um den Weg dieses Spielers in der Akzentfarbe von oben nach unten zu animieren und das zugeordnete Ergebnis darunter zu zeigen.
  5. Klicke stattdessen auf "Alle zeigen", wenn du das Schritt-für-Schritt-Entdecken überspringen möchtest und alle Spieler-Ergebnis-Paare auf derselben Leiter gleichzeitig sehen möchtest.

Häufige Fragen

Verwendet die Leiter einen wirklich zufälligen, unvorhersehbaren Zufallsgenerator?
Es verwendet den eingebauten Math.random() des Browsers, nicht den kryptografisch sicheren crypto.getRandomValues(). Das ist vollkommen in Ordnung, um Aufgaben zu verteilen oder zu entscheiden, wer Kaffee kauft, aber der interne Zustand von Math.random() ist in der Theorie nicht immun gegen Vorhersage, wenn jemand genügend vorherige Ausgaben beobachten kann. Verwende dieses Tool – oder irgendeine Leiter, die auf Math.random() basiert – nicht, um eine Lotterie mit echtem Geld, Preisen mit rechtlicher Gewichtung oder jede Situation zu laufen, in der ein Teilnehmer ein Interesse hat, den Ziehungsprozess zu rekonstruieren.
Ist die Zuordnung der Ergebnisse wirklich eins-zu-eins, oder könnten zwei Spieler dasselbe Preis erhalten?
Eins-zu-eins ist durch Konstruktion garantiert, nicht durch Zufall. Jede Querleitung verbindet nur zwei benachbarte Linien, und der Code lehnt bewusst ab, zwei sich überschneidende Querleitungen in derselben Reihe zu platzieren. Das macht jede Reihe der Leiter zu einem kleinen, nicht überschneidenden Shuffle, und das Stapeln von zwölf solchen Shuffles kann nie zwei Startlinien auf dieselbe Endlinie zeigen – die Zuordnung ist eine mathematische Bijektion, unabhängig davon, wie die Zufallszahlen ausfallen.
Ist die Leiter immer noch fair, wenn ich viele Spieler hinzufüge?
Das ist der ehrliche Grenzwert: die Leiter verwendet immer eine feste Anzahl von 12 Reihen, unabhängig von der Anzahl der Spieler. Mit den 3 bis 10 Spielern, für die dieses Tool konzipiert ist, ist das ausreichend, um das Gefühl eines fairen Shuffles zu erzeugen. Gib jedoch 30 oder 50 Namen ein, und können 12 Reihen nicht annähernd genug Querleitungen erzeugen, um die Ergebnisse gleichmäßig über all diese möglichen Paarungen zu verteilen – Spieler landen eher in der Nähe ihrer Startposition als bei einem wirklich gleichmäßigen Shuffle. Für eine große Gruppe ist ein flacher Zufallsgenerator besser geeignet als eine Leiter mit maximal 12 Reihen.
Kann ich meine fertige Leiter speichern oder teilen?
Nicht über das Tool selbst – es gibt keine eingebaute Speicher-, Download- oder Teilen-Funktion in dieser Version. Die Leiter existiert nur als Pixel, die auf dem Canvas-Element gezeichnet werden, während die Seite geöffnet ist. Wenn du Beweis für das Ergebnis benötigst (der klassische "Screenshot, um den Streit zu entscheiden"), verwende die native Screenshot-Funktion deines Browsers oder deines Geräts, bevor du die Seite neu lädst – das Neuladen setzt das Canvas und beide Textfelder zurück auf die Beispiel-Daten.
Lädt dieses Tool etwas hoch und funktioniert es ohne Internetverbindung?
Keine Uploads, und ja, es funktioniert offline. Die Querleitungsverteilung, das Zeichnen auf dem Canvas und das Nachverfolgen der Pfade laufen alles innerhalb des JavaScript-Engines deines Browsers mit null Netzwerk-Anfragen, sodass das Tool auch nach dem Laden der Seite weiterhin funktioniert, selbst wenn keine Verbindung besteht, und die Namen und Ergebnisse, die du eingibst, verlassen nie dein Gerät.