Re: repeatable random numbers in an object
Re: repeatable random numbers in an object
- Subject: Re: repeatable random numbers in an object
- From: Brian Dittmer <email@hidden>
- Date: Wed, 17 Jun 2009 10:37:52 -0400
Why not generate random numbers the first time each level is run and
then just store those numbers (fs if you want them across app loads,
in-memory otherwise) somewhere for all subsequent runs?
Regards,
Brian Dittmer
On Wed, Jun 17, 2009 at 10:33 AM, Roland King<email@hidden> wrote:
> I need to generate repeatable sequences of random numbers for a game. For
> each level I give it the seed and want the level to unfold the same way it
> did before. I can guarantee that the calls to any random function will be in
> exactly the same order, so provided I get the same sequence out of the
> random generator, I'm good.
>
> First thought was to use srand() [ yes it's a bad random number generator
> but it's good enough for what want ] however it's global and it's quite
> possible I'll have more than one 'level' running at the same time. So I need
> an object which I can give a seed to and will generate random numbers from
> that seed, and I need it to interoperate independently of any other object
> of the same type being queried for numbers.
>
> I was thinking of wrapping the random(3) stuff [ initstate, random, setstate
> .. etc ] in a cocoa class and using them, just using setstate() each time
> before calling random(). I can guarantee this all on one thread so I will
> not have the issue that setstate() is called in one thread and random in
> another, thus totally messing up someone else's generator.
>
> I had a hunt for an objective-C class which already did this but didn't find
> one. Anyone know of one or a better solution to this before I go write it?
> The sort of methods I'd expect are ..
>
> MyRandom *myRandom = [ [ MyRandom alloc ] initWithSeed:seed ];
> int nextRandom = [ myRandom nextRandom ];
>
> where the sequence produced by myRandom is predictable and not affected by
> any other MyRandom objects out there.
>
>
>
>
> _______________________________________________
>
> Cocoa-dev mailing list (email@hidden)
>
> 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:
>
> This email sent to email@hidden
>
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden