Not a horrible idea, but the 'levels' could be pretty open-ended if
you're good at the game (eg think the numbers were choosing what piece
is next in tetris, if you are the kind of person who can play level 1
for 3 hours you need a lot of numbers) so I'd prefer to generate them
from a seed if practical.
It's not Tetris by the way, really, honestly, I am not writing another
version of Tetris.
On Jun 17, 2009, at 10:37 PM, Brian Dittmer wrote:
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