// // 伪随机数生成器。 // #ifndef RURandomGenerator_hpp #define RURandomGenerator_hpp ///C++标准库 #include ///项目代码 #include "RUDefine.h" NS_RU_BEGIN class RandomGenerator { public: // 返回一个随机值 int generateNumber(); // 设置种子 void setSeed(int seed); int getSeed(); // 范围里随机一个int int randomInRange(int start, int end); // 根据权重随机数组的index int randomIndexByWeight(const std::vector &weightArray); private: int _seed = 0; // 种子值 const int a = 1103515245; // 乘数 const int c = 12345; // 增量 const int m = 2147483647; // 模数,通常是一个大质数 }; NS_RU_END #endif /* RURandomGenerator_hpp */