Lottozahlen Generator
Zieht sechs verschiedene Zahlen aus 49 — mit rotierender Trommel, bis die Ziehung steht.
Dieser Zahlengenerator zieht sechs verschiedene Zahlen aus dem Bereich 1 bis 49 — also genau das Format von „6 aus 49“. Ein Klick auf „Starte Generator“ genügt, und schon rattert die Anzeige los. Das Script stammt von Kurt Grigg, einem der fleißigsten JavaScript-Bastler der frühen 2000er.
Der Reiz liegt in der kleinen Inszenierung: Der Generator gibt nicht sofort ein Ergebnis aus, sondern wirft fünfzig Mal hintereinander im Abstand von 50 Millisekunden eine neue Kombination auf die Anzeige. Für das Auge sieht das aus wie eine rotierende Lostrommel, die nach gut zweieinhalb Sekunden zum Stillstand kommt. Erst die letzte dieser Ziehungen ist euer Tipp — alle davor sind reine Schau. Während die Trommel läuft, ist der Knopf gesperrt, damit sich nicht mehrere Ziehungen überlagern.
Die Zahlen erscheinen aufsteigend sortiert, so wie sie auch auf dem Lottoschein stehen. Dass keine Zahl doppelt vorkommt, stellt das Script selbst sicher: Zieht es eine Zahl, die schon dabei ist, wird sie verworfen und neu gewürfelt.
Zum Thema selbst, ganz ohne Glücksversprechen: Bei „6 aus 49“ gibt es 13.983.816 mögliche Kombinationen — jede einzelne ist gleich wahrscheinlich, auch die 1, 2, 3, 4, 5, 6. Ein Zahlengenerator verbessert die Gewinnchance also nicht; er nimmt euch nur das Grübeln ab und meidet nebenbei die beliebten Muster wie Geburtstage (nur 1 bis 31) oder Kreuze auf dem Schein, bei denen man sich den Gewinn im Ernstfall mit vielen anderen teilt.
Das Format lässt sich im Script mit drei Zahlen umstellen — 5 aus 50, 6 aus 45, 7 aus 39, was immer ihr braucht. Wie die Zufallszahlen dahinter entstehen, könnt ihr euch bei Zufallszahlen berechnen und bei der einfachen Zufallszahl in Ruhe ansehen. Wer den Zufall lieber auf Links loslässt, nimmt den Zufallslink Generator.
Die Anzeige rattert etwa zweieinhalb Sekunden; erst die letzte Kombination ist die Ziehung.
So funktioniert das Script
Das Script besteht aus drei Bausteinen: einem Block mit Einstellungen ganz oben, der Funktion ziehen(), die eine vollständige Kombination erwürfelt, und der Funktion drehen(), die diese Ziehung fünfzig Mal wiederholt und damit die Trommel-Animation erzeugt. Alles liegt in einer sofort ausgeführten Funktion, damit die Namen darin keine anderen Scripts der Seite stören.
const wieViele = 6;
const von = 1;
const bis = 49;
const umdrehungen = 50;
const tempo = 50;
Diese fünf Werte sind die Stellschrauben. wieViele ist die Anzahl der Zahlen pro Tipp, von und bis spannen den Zahlenbereich auf. umdrehungen bestimmt, wie oft die Trommel weiterrattert, tempo den Abstand zwischen zwei Bildern in Millisekunden. 50 Umdrehungen mal 50 Millisekunden ergeben rund 2,5 Sekunden Schau. Für die österreichische Variante schreibt ihr wieViele = 6 und bis = 45, für Eurojackpot wieViele = 5 und bis = 50.
const zahl = von + Math.floor(Math.random() * (bis - von + 1));
Das ist die klassische Formel für eine ganze Zufallszahl in einem Bereich. Math.random() liefert eine Kommazahl ab 0 und immer kleiner als 1. Multipliziert mit der Spannweite bis - von + 1 (bei 1 bis 49 also 49) entsteht eine Zahl zwischen 0 und knapp 49. Math.floor schneidet die Nachkommastellen ab, es bleibt 0 bis 48 — und das von + davor schiebt den Bereich auf 1 bis 49.
while (gezogen.length < wieViele) {
const zahl = von + Math.floor(Math.random() * (bis - von + 1));
if (gezogen.indexOf(zahl) === -1) {
gezogen.push(zahl);
}
}
Hier entsteht die Ziehung ohne Zurücklegen. Die while-Schleife läuft so lange, bis genug Zahlen beisammen sind. indexOf sucht die frisch gewürfelte Zahl in der bisherigen Liste; kommt sie dort nicht vor, meldet die Methode -1 und die Zahl wird mit push angehängt. Ist sie schon dabei, passiert schlicht nichts und der nächste Schleifendurchlauf würfelt neu. Genau so funktioniert auch die echte Lostrommel: gezogene Kugeln kommen nicht zurück.
gezogen.sort(function (a, b) { return a - b; });
Vorsicht bei sort(): Ohne Zusatz sortiert JavaScript Zahlen als Text, dann stünde die 10 vor der 9. Die kleine Vergleichsfunktion a - b sagt der Methode, wie sie zwei Zahlen der Größe nach vergleichen soll — ein negatives Ergebnis heißt „a kommt zuerst“. So erscheinen die Zahlen wie auf dem Lottoschein aufsteigend.
durchgang++;
if (durchgang > umdrehungen) {
laeuft = false;
knopf.disabled = false;
return;
}
setTimeout(drehen, tempo);
Das ist die Animation. setTimeout(drehen, tempo) bestellt den nächsten Aufruf derselben Funktion in 50 Millisekunden — die Funktion ruft sich also immer wieder selbst auf, bis der Zähler durchgang die eingestellte Zahl überschreitet. Dann bricht return die Kette ab, und die zuletzt angezeigte Kombination bleibt stehen.
if (laeuft) {
return;
}
Die Sperre am Anfang von starten() verhindert, dass sich zwei Trommeln gleichzeitig drehen. Ohne sie würde jeder weitere Klick eine zusätzliche Aufruf-Kette starten, die Anzeige würde immer hektischer flackern und nie sauber stoppen. Zusätzlich wird der Knopf mit knopf.disabled = true während des Laufs ausgegraut, damit man die Sperre auch sieht.
Zum Anpassen: Die Beschriftung des Knopfs steht im HTML, der Anfangstext „Deine Glückszahlen“ als startText im Script. Wollt ihr die Zahlen mit Komma statt mit Abstand trennen, ändert ihr das Trennzeichen in join(" "). Und wer die Schau ganz überspringen will, setzt umdrehungen = 0 — dann steht die Ziehung sofort.
Script für die eigene Homepage
Kopiert euch den kompletten Code und fügt ihn an der Stelle eurer Seite ein, an der das Script erscheinen soll. Er läuft ohne weitere Dateien und ohne fremde Server.
Mehr aus der Kategorie Verschiedenes
-
Auf Seite suchen
-
Benzinverbrauch
-
BMI berechnen
-
Browserinformationen
-
Caps Lock Text korrigieren
-
Cookietest
-
CPU-Test
-
Eieruhr
-
Erdbeben
-
Farbverlauf
-
Gruppen einteilen
-
Handyrechner
-
IBAN prüfen
-
ISBN-Prüfziffer
-
Javascript Shell
-
Kontrast prüfen
-
Losentscheid
-
Mauskoordinaten
-
Mehrwertsteuer-Rechner
-
Metronom
-
Notenrechner
-
Passwortgenerator
-
Periodensystem
-
Popup-Generator
-
RGB-Slider
-
Seitenverhältnis-Rechner
-
Tabellengenerator
-
Tastencodes anzeigen
-
To Do List