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<r...@rols.org> 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 (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/brian.t.dittmer%40gmail.com > > This email sent to brian.t.ditt...@gmail.com > _______________________________________________ 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