Seed, Rnd()

Gibt eine Zufallszahl zwischen 0 und 255 zurück.

Der in LunaAVR implementierte Pseudo-Zufallszahlengenerator basiert auf einem linear rückgekoppeltem Schieberegister (LFSR).

Vor dem ersten Aufruf von Rnd() muss der Generator mit Seed initialisiert werden. Der sporadisch im Programmcode verteilte Aufruf von Seed erhöht die Zufallsrate. Es kann bei einem solchen Pseudo-Zufallsgenerator vorkommen, dass nur Nullwerte zurückgegeben werden wenn der LFSR durch bestimmte Umstände in einen Ruhezustand springt. Es ist daher z.T. notwendig die Position und den Seed-Startwert im Quelltext zu verändert bis eine gewünschte, gleichmäßige Verteilung der Zufallszahlen eintritt.

Syntax: Seed Ausdruck
Syntax: ergebnis = Rnd()

Beispiel:

  [..]
  ' zuerst Zufallszahlengenerator mit einem beliebigem Startwert laden
  Seed 11845
  ' permanent Zufallszahl ausgeben
  do
    print str(Rnd())
    waitms 200
  loop