pyxen.random
Genera números aleatorios. Disponible globalmente mediante from pyxen import *.
random.seed(42)
value = random.random() # float en [0, 1)
roll = random.randint(1, 6) # int en [1, 6]
pick = random.choice(items) # elemento aleatorio de una secuencia
Métodos
| Método | Devuelve | Descripción |
|---|---|---|
seed(n) | None | Establece la semilla para resultados reproducibles |
random() | float | Float aleatorio en [0, 1) |
randint(a, b) | int | Entero aleatorio en [a, b] inclusivo |
choice(seq) | elemento | Elemento aleatorio de una secuencia |
seed(n)
random.seed(42)
Establece el estado interno del generador de números aleatorios. Usar la misma semilla produce la misma secuencia de números cada vez.
Esto es útil para:
- Generación procedural reproducible
- Comportamiento determinista del juego para depuración
- Diseños de nivel consistentes entre ejecuciones
random()
value = random.random()
Devuelve un float aleatorio entre 0 (inclusivo) y 1 (exclusivo).
Ejemplo — velocidad aleatoria en cualquier dirección:
vx = (random.random() * 2.0) - 1.0 # rango [-1, 1)
vy = (random.random() * 2.0) - 1.0
randint(a, b)
roll = random.randint(1, 6)
Devuelve un entero aleatorio N tal que a <= N <= b. Ambos extremos están incluidos.
Ejemplo — probabilidad del 50%:
if random.randint(0, 1) == 1:
spawn_coin()
Ejemplo — variante de tile aleatoria:
random.seed(42)
for col in range(COLS):
alt = random.randint(0, 99) <= 10 # 10% de probabilidad
tile = (1 if alt else 0, 4)
choice(seq)
color = random.choice(["red", "green", "blue"])
Devuelve un elemento aleatorio de una secuencia no vacía (lista, tupla o cadena).
Produce IndexError si la secuencia está vacía.
Ejemplo — posición de aparición aleatoria:
spawns = [(10, 20), (50, 80), (120, 40)]
x, y = random.choice(spawns)