Not strictly Cocoa, but a trick I recently incorporated to remove the mod-bias is (email code):

float frand = (random() * 1.0) / (RAND_MAX * 1.0); // gives 0.0-0.99999...
int myRand = frand * 15;  // to get a number from 0-14, inclusive.


On Aug 6, 2009, at 9:12 AM, Jeremy Pereira wrote:
That's a bit convoluted.  How about:

srandom(time(NULL));
array = [[NSMutableArray alloc] init];
while ([array count] < 15)
{
        int randomNo = random() % 15 + 1;       // Gives biased results, by the 
way
        NSNumber numberToAdd = [NSNumber numberWithInt: randomNo];
        if (![array containsObject: numberToAdd])
        {
                [array addObject: numberToAdd];
        }
}


--
Carpe DM -- Seize the Dungeon Master


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to