Утилиты рандомизации / масштабирования значений для iPhone? - PullRequest
0 голосов
/ 15 марта 2010

Я работаю с множеством случайных чисел, чтобы создавать постоянно меняющиеся текстуры. Я устал от таких вещей, как:

 ((rand() % 1000) / 10) + 100 

когда я действительно хочу что-то вроде

[randomUtils randomNumberBetween:100 and:200]

Кроме того, я хотел бы иметь возможность манипулировать весами рандомизации, чтобы, например, мои значения имели тенденцию падать ближе к 100 и лишь редко приближаться к 200.

Уже что-то подобное существует, или я должен просто написать это сам?

1 Ответ

1 голос
/ 15 марта 2010

Это, IMO, хорошее использование для класса с в основном (если не всеми) методами класса. Например, вы можете создать класс с именем RURandomUtilities. В классе вы можете сделать:

+ (NSInteger) randomNumberBetween:(NSInteger) start and:(NSInteger) end
{
    return ((rand() % (start - end) +start);
}

и так далее. В зависимости от того, требуется ли вам много экземпляров, идущих с разными случайными числами, вы можете создать эти классы, для которых созданы базовые параметры для взвешивания и начальных чисел.

Если вам требуется постоянная производительность всех случайных чисел в ваших приложениях, для удержания весов можно использовать локальные статические одиночные числа. Единственным экземпляром объекта будет сам класс.

...