BlitzBasic: Rand

Aus Wikibooks

Syntax[Bearbeiten]

Integerwert=Rnd(Wert1%[,Wert2%])

Parameter[Bearbeiten]

  • Wert1 : erforderlich, Grenzwert1
  • Wert2 : optional, Grenzwert2, Defaultwert=1

Rückgabe[Bearbeiten]

Eine zufällige Integerzahl, die zwischen den Grenzwerten liegt, oder den Grenzwerten entspricht

Hinweise[Bearbeiten]

  1. Bei einer Funktion dürfen optionale Parameter nur am Ende der Parameterliste stehen, darum sind alle Syntax-Schreibweisen falsch, die den ersten Wert als optional angeben (das gilt auch für die Syntax in der IDE-internen Hilfe).
  2. Manchmal werden auch die Parameter mit »Minimum« und »Maximum« (oder ähnlich) bezeichnet. Auch das ist falsch, da es bei »Rnd« für die Parameter keine Vorschrift gibt, welcher Parameter höher sein muss.
  3. Für die Rückgabe gilt: "ein Grenzwert" <= "Rückgabe" <= "anderer Grenzwert". Also die Rückgabe kann auch genau einem der beiden Grenzwerte entsprechen.
  4. Der Defaultwert des zweiten Parameter ist immer 1, auch wenn der übergebene Parameter negativ ist. Dadurch werden möglicherweise mehr verschiedene Zufallszahlen erzeugt als erwartet. (Rnd(3) erzeugt 1, 2 oder 3, also drei Möglichkeiten. Aber Rnd(-3) erzeugt -3, -2, -1, 0 oder 1 also fünf Möglichkeiten)

Beschreibung[Bearbeiten]

Es wird ein zufälliger Integerwert erzeugt, der zwischen den beiden Grenzwerten liegt, oder genau einem der Grenzwerte entspricht. Die Anzahl der möglichen verschiedenen Rückgaben ist daher = hoherWert - niedriger Wert +1. Bei einem Computer sind jedoch alle Berechnungen eindeutig logisch, daher werden keine „echten“ Zufallszahlen erzeugt, sondern ein Berechnungsalgorithmus erzeugt aus einem Startwert irgend eine Zahl, die für den nächsten Aufruf des Algorithmus für die Ermittlung der nächsten Zahl verwendet wird. Folglich werden immer die gleichen Zufallszahlen erzeugt, solange der Startwert sich nicht ändert. Gleiche Startwerte erzeugen also immer die gleichen Zufallszahlen. Den Startwert kann man mit der Funktion RndSeed auslesen und mit der Anweisung SeedRnd setzen.

Gruppe[Bearbeiten]

Zufall

In dieser Gruppe sind Anweisungen und Funktionen, die zur Erzeugung von Zufallszahlen genutzt werden.

Typ Name KurzInfo Blitzversionen
Funktion Millisecs liefert die Anzahl der Millisekunden seit Mitternacht
Funktion Rand liefert eine Integer-Zufallszahl
Funktion Rnd liefert eine Float-Zufallszahl
Funktion RndSeed liefert den Startwert für Zufallszahlen
Anweisung SeedRnd setzt den Startwert für Zufallszahlen

Beispiel[Bearbeiten]

folgt demnächst