JürgenB: random in widgets

Beitrag lesen

Hallo ruben,

die Zufallszahlgeneratoren erzeugen immer eine Folge von Pseudozufallszahlen, die von der Startzahl abhängt, ansonsten aber recht zufällig wirkt. Weil bei dir die Startzahl immer gleich ist, ist natürlich auch die Folge immer gleich. Da du auf die Startzahl keinen Zugriff hast, war meine Idee, die Folge "irgendwo" beginnen zu lassen und dieses "Irgendwo" durch einige 10 bis 100 Vorläufe zu ermitteln. Das dauert bestimmt deutlich weniger als 100 Millisekunden.

Wenn du es selbst machen willst, versuch mal folgendes:

Nimm irgendeine Startzahl, z.B. die Zeit Modulo irgendwas, und für jede neue Zufallszahl nimmst du die vorherige mit 65539 mal, und anschließend modulo 2^32, also

var zuf_z=12345; // oder irgendetwas aus der Zeit
zwei_hoch_32=Math.pow(2,32);
function zuf() {
 zuf_z=((zuf_z*65539)%zwei_hoch_32);
 return zuf_z/zwei_hoch_32;
}

die Modulodivision ist hier notwendig, da Javascript den Datentyp "32-bit-Integer" nicht kennt.

Gruß, Jürgen