Ich habe meine eigene Zufallszahlen-Utility-Klasse geschrieben, damit ich etwas habe, das ein bisschen mehr wie Math.random() in Java funktioniert. Sie hat nur zwei Funktionen, und alles ist in C geschrieben.
Header-Datei:
//Random.h
void initRandomSeed(long firstSeed);
float nextRandomFloat();
Implementierungsdatei:
//Random.m
static unsigned long seed;
void initRandomSeed(long firstSeed)
{
seed = firstSeed;
}
float nextRandomFloat()
{
return (((seed= 1664525*seed + 1013904223)>>16) / (float)0x10000);
}
Das ist eine ziemlich klassische Art, Pseudo-Randoms zu erzeugen. In meiner App Delegate rufe ich auf:
#import "Random.h"
- (void)applicationDidFinishLaunching:(UIApplication *)application
{
initRandomSeed( (long) [[NSDate date] timeIntervalSince1970] );
//Do other initialization junk.
}
Später sage ich dann einfach:
float myRandomNumber = nextRandomFloat() * 74;
Beachten Sie, dass diese Methode eine Zufallszahl zwischen 0,0f (einschließlich) und 1,0f (ausschließlich) zurückgibt.