Lumino.Math
|
00001 00002 #ifndef LUMINO_MATH_RANDOM_H 00003 #define LUMINO_MATH_RANDOM_H 00004 00005 #include "Common.h" 00006 00007 namespace Lumino 00008 { 00009 00014 class LUMINO_EXPORT Randomizer 00015 { 00016 public: 00017 00021 Randomizer(); 00022 00027 Randomizer(int seed); 00028 00029 public: 00030 00035 void SetSeed(int seed); 00036 00041 int GetInt(); 00042 00048 int GetInt(int maxValue); 00049 00056 int GetIntRange(int minValue, int maxValue); 00057 00064 int GetIntWidth(int median, int width); 00065 00070 float GetFloat(); 00071 00077 float GetFloat(float maxValue); 00078 00085 float GetFloatRange(float minValue, float maxValue); 00086 00093 float GetFloatWidth(float median, float width); 00094 00095 private: 00096 unsigned int x, y, z, w; 00097 }; 00098 00102 extern Randomizer Random; 00103 00104 } // namespace Lumino 00105 00106 #endif // LUMINO_MATH_RANDOM_H