calculatorAleatorio, Matemáticas y Más

Esta página es una mezcla de utilidades que «usarás constantemente»: RNG, formato, tiempo y algunos subsistemas centrales que aparecen en la mayoría de los juegos.

circle-info

Si buscas arrays/slices, consulta Arrays y Colecciones.

Números aleatorios (RNG)

Random usa una u64 semilla. Pasa la semilla por ref para que se actualice.

rng: u64 = rng_seed_time();
// o determinista por entidad:
// rng: u64 = rng_seed(entity.id);

// Los valores de rango son inclusivos
roll := rng_range_int(ref rng, 1, 10);
chance := rng_range_float(ref rng, 0, 1);
circle-exclamation

Funciones matemáticas

Ayudantes matemáticos comunes:

angle_sin := sin(x);
angle_cos := cos(x);

result := pow(2.0, 3.0);   // 8.0
root := sqrt(16.0);        // 4.0

value := lerp(0.0, 100.0, 0.5);  // 50.0
clamped := clamp(value, 0.0, 10.0);

absolute := abs(-5);
minimum := min(5, 10);
maximum := max(5, 10);

len := length(v);
len_sq := length_squared(v);
normalized := normalize(v);

Formateo de cadenas

Usa % marcadores con un arreglo de argumentos:

Si necesitas un argumento adyacente a un signo de porcentaje (o junto a otro argumento), usa %0 como alias de %:

Para el redondeo decimal, usa format_float:

Registro (Logging)

El registro sigue las mismas reglas de formato:

Tiempo

Efectos de sonido (SFX)

circle-exclamation

Inicio rápido de economía (monedas)

Las monedas de la economía son por jugador y persistidos automáticamente.

Ver Economy para la guía completa.

Última actualización