Hartmut Birkholz - Webdesign

Diese Seite schaut viel besser in einem Browser aus, der Web-Standards unterstützt, die Seite ist aber für jeden Browser geeignet. Trotzdem empfehle ich den Download z.B. des Firefox, Opera oder Internet Explorers.

Zufallszahlen generieren

Um die Ausgabe einer nach dem Zufallsprinzip ausgewählten Zahl zu erzeugen, ist ein klein wenig Code notwendig.
Zunächst benötigt man das Math-Objekt und seine Methode random(). Mit dieser Methode wird eine zufällig ausgewählte Fließkommazahl zwischen 0 und 1 ausgegeben. Will man nun Zahlen aus einem bestimmten Bereich per Zufallsprinzip auswählen, muss diese Methode mit der oberen Grenze des gewünschten Bereichs multipliziert werden und anschließend wird die untere Grenze dazu addiert. Damit ganze Zahlen ausgegeben werden, muss zusätzlich die Methode floor() für das Abrunden benutzt werden. Dazu erstellt man eine Funktion:

function zufallszahl (unten, oben) {
var zahl = Math.random();
zahl *= oben;
zahl += unten;
zahl = Math.floor(zahl);
return zahl;
}
document.write ("Eine Lottozahl: " + zufallszahl(1,49);

Eine Lottoziehung simulieren

Anstatt einer fufällig gewählten Zahl aus dem festgelegten Bereich kann man sich auch mehrere Zahlen auf einmal ausgeben lassen. Dazu benötigt man diebereits erstellte Funktion zufallszahl() und ein Array, in das die gewünschte Anzahl an auszuwählenden Zahlen geschrieben werden soll:
var zahlen = [];

Um dieses Array zu füllen erstellt man eine while-Schleife. Das Array wird dann so lange mit weiteren Elementen befüllt, bis die maximale Anzahl an Elementen erreicht wird. Wenn keine Zahl doppelt vorkommen soll, muss das Array mit der for-Anweisung durchsucht und mit einer if-Anweisung verhindert werden, dass die Zahl erneut in das Array eingetragen wird:
while (zahlen.length <7) {
var zahl = zufallszahl (1, 49);
for (var i=0; i < zahlen.length; i++) {
if (zahlen [i] == zahl) {
zahl = 0;
}
}
if (zahl > 0) {
zahlen [zahlen.length] = zahl;
}
}

Die Anweisung:
for (var i=0; i < zahlen.length; i++) {
if (zahlen[i] == zahl) {
zahl = 0;
}

prüft, ob das Element schon im Array vorhanden ist. Wenn das der Fall ist, wird Zahl auf 0 zurückgesetzt und die Funktion erneutdurchlaufen, bis eine Zahl ausgewählt wird, die noch nicht im Array vorhanden ist.

Mit der Anweisung:
if (zahl > 0) 7
zahlen [zahlen.length] = zahl;
}

wird eine Zahl, die noch nicht im Array ist, eingefügt, und zwar so lange, bis die maximale Länge des Arrays erreicht ist.
Die Ausgabe der Zahlen des Arrays erfolgt über eine for-in-Anweisung:
document.write ("Lottozahlen: ");
for (var element in zahlen) {
document.write (zahlen[element] + " ");

Auf diese Weise werden alle Elemente des Arrays mit Leerzeichen voneinander getrennt ausgegeben.

Erinnerung

Zufallszahlen/Zufallsbilder

Auf genau die gleiche Art und Weise - ohne das Prüfarray - lassen sich auch zufällig Bilder auswählen und anzeigen. Ein Werbebanner, eine Headergrafik. Mit Hilfe des setTimeout- oder setInterval-Befehls sogar einmalig oder wiederkehrend.

Orakel
Panorama

<-- Datum Cookies -->