For the complete documentation index, see llms.txt. This page is also available as Markdown.

Случайность, математика и многое другое

Эта страница — сборная солянка из утилит, которыми вы будете пользоваться постоянно: RNG, форматирование, время и несколько основных подсистем, которые встречаются в большинстве игр.

Если вы ищете массивы/срезы, см. Массивы и коллекции.

Случайные числа (RNG)

Случайность использует явный u64 seed. Передавайте seed по ref ссылке, чтобы он обновлялся.

rng: u64 = rng_root_seed();
// или детерминированно для каждой сущности:
// rng: u64 = rng_seed(entity.id);

// Значения диапазона включительные
roll := rng_range_int(ref rng, 1, 10);
chance := rng_range_float(ref rng, 0, 1);

// Случайные точки и перемешивание
offset := rng_disk(ref rng, 0.5, 2.0);
spawn_points: [..]v2;
spawn_points.append({0, 0});
spawn_points.append({4, 0});
rng_shuffle(ref rng, spawn_points);

Математические функции

Общие математические помощники:

Форматирование строк

Используйте % плейсхолдеры с массивом аргументов:

Если вам нужен аргумент рядом со знаком процента (или рядом с другим аргументом), используйте %0 как псевдоним для %:

Для округления десятичных чисел используйте format_float:

Общие строковые помощники:

Логирование

Логирование использует те же правила форматирования:

Время

SFX

Краткое начало работы с экономикой (валюты)

Валюты экономики — это для каждого игрока и автоматически сохраняется.

Суммы пополнения и снятия должны быть неотрицательными.

См. Экономика в полном руководстве.

Последнее обновление