/Classes/RNG.h

http://github.com/kstenerud/ObjectAL-for-iPhone · C Header · 39 lines · 14 code · 10 blank · 15 comment · 0 complexity · 0235b07e771c5a1c1f78fded6b8236f4 MD5 · raw file

  1. //
  2. // RNG.h
  3. //
  4. // Created by Karl Stenerud on 10-02-15.
  5. //
  6. #import "SynthesizeSingleton.h"
  7. /** Random number generator interface */
  8. @interface RNG : NSObject
  9. {
  10. unsigned int seedValue;
  11. }
  12. /** The current seed value being used */
  13. @property(nonatomic,readwrite,assign) unsigned int seedValue;
  14. SYNTHESIZE_SINGLETON_FOR_CLASS_HEADER(RNG);
  15. /** Initialize with the specified seed value.
  16. * This must ONLY be called BEFORE accessing sharedInstance.
  17. */
  18. - (id) initWithSeed:(unsigned int) seed;
  19. /** Returns a random unsigned int from 0 to 0xffffffff */
  20. - (unsigned int) randomUnsignedInt;
  21. /** Returns a random probability value from 0.0 to 1.0 */
  22. - (double) randomProbability;
  23. /** Returns a random integer from minValue to maxValue */
  24. - (int) randomNumberFrom: (int) minValue to: (int) maxValue;
  25. /** Returns a random integer from minValue to maxValue, but does not return exceptValue */
  26. - (int) randomNumberFrom: (int) minValue to: (int) maxValue except:(int) exceptValue;
  27. /** Randomly returns YES or NO */
  28. - (bool) randomBool;
  29. @end