pyxen.random
Zufallszahlen generieren. Global verfügbar über from pyxen import *.
random.seed(42)
value = random.random() # float in [0, 1)
roll = random.randint(1, 6) # int in [1, 6]
pick = random.choice(items) # zufälliges Element aus Sequenz
Methoden
| Methode | Rückgabe | Beschreibung |
|---|---|---|
seed(n) | None | Zufalls-Seed für reproduzierbare Ergebnisse setzen |
random() | float | Zufälliger Float in [0, 1) |
randint(a, b) | int | Zufällige Ganzzahl in [a, b] inklusive |
choice(seq) | Element | Zufälliges Element aus einer Sequenz |
seed(n)
random.seed(42)
Setzt den internen Zustand des Zufallszahlengenerators. Der gleiche Seed erzeugt jedes Mal die gleiche Zahlenfolge.
Das ist nützlich für:
- Reproduzierbare prozedurale Generierung
- Deterministisches Spielverhalten zum Debuggen
- Konsistente Level-Layouts über Durchläufe hinweg
random()
value = random.random()
Gibt einen zufälligen Float zwischen 0 (inklusive) und 1 (exklusive) zurück.
Beispiel — zufällige Geschwindigkeit in jede Richtung:
vx = (random.random() * 2.0) - 1.0 # Bereich [-1, 1)
vy = (random.random() * 2.0) - 1.0
randint(a, b)
roll = random.randint(1, 6)
Gibt eine zufällige Ganzzahl N zurück, sodass a <= N <= b. Beide Endpunkte sind eingeschlossen.
Beispiel — 50% Chance:
if random.randint(0, 1) == 1:
spawn_coin()
Beispiel — zufällige Tile-Variante:
random.seed(42)
for col in range(COLS):
alt = random.randint(0, 99) <= 10 # 10% Chance
tile = (1 if alt else 0, 4)
choice(seq)
color = random.choice(["red", "green", "blue"])
Gibt ein zufälliges Element aus einer nicht-leeren Sequenz (Liste, Tupel oder String) zurück.
Löst IndexError aus, wenn die Sequenz leer ist.
Beispiel — zufällige Spawn-Position:
spawns = [(10, 20), (50, 80), (120, 40)]
x, y = random.choice(spawns)