2010-03-15 37 views
0

我使用大量的隨機數字來創建不斷移動的紋理。我累了做這樣的事情的:Value Randomization/Scaling Utilities for iPhone?

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

當我真正想要的東西像

[randomUtils randomNumberBetween:100 and:200] 

Additonally,我希望能夠操縱隨機的權重,因此,對於例如,我的數值往往會下降到接近100,並且很少接近200.

這樣的事情是否已經存在,還是應該自己寫?

回答

1

這就是IMO,對於大多數(如果不是全部)類方法的類來說,這是一個很好的用法。例如,您可以創建一個名爲RURandomUtilities的類。在課堂上你可以做到:

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

等等。根據你是否需要大量不同的隨機數的實例,你可以使這些類用基本參數實例化,用於加權和種子。

如果您需要應用程序中所有隨機數的一致性能,則可以使用本地靜態singleton來保存權重。唯一的實例化對象將是類本身。

+0

謝謝史蒂文。這確實聽起來像一個很好的方式來構建它。我只是想知道是否有一個很好的,開源的每種類型的隨機擴展軟件包已經可用。 – morgancodes

+0

我還沒有看到一個,但它可以寫在大約30分鐘,我想如果你只是需要一些基本功能。幾個小時,如果你想更復雜一點。 –