| |
|
|
||||
![]() |
||||||
| |
|
|||||
|
Listing 2 Prand.cpp // Implementation File for the PseudoRandomizer Class // (c) 1999 Guy W. Lecky-Thompson // All Rights Reserved #include "prand.h" PseudoRandomizer::PseudoRandomizer(unsigned long ulGen1, unsigned long ulSeed, unsigned long ulMax) { this->ulGen1 = ulGen1; this->ulGen2 = ulGen1 * 2; this->ulSeed = ulSeed; this->ulMax = ulMax; } unsigned long PseudoRandomizer::PseudoRandom() { unsigned long ulNewSeed; ulNewSeed = (this->ulGen1 * this->ulSeed) + this->ulGen2; ulNewSeed = ulNewSeed % this->ulMax; // Use modulo operator to ensure < ulMax this->ulSeed = ulNewSeed; return this->ulSeed; } unsigned long PseudoRandomizer::PseudoRandom(unsigned long ulMaxValue) { unsigned long ulNewSeed; this->ulMax = ulMaxValue; ulNewSeed = (this->ulGen1 * this->ulSeed) + this->ulGen2; ulNewSeed = ulNewSeed % this->ulMax; // Use modulo operator to ensure < ulMax this->ulSeed = ulNewSeed; return this->ulSeed; } Prand.h // Class Header File for the PseudoRandomizer Class // (c) 1999 Guy W. Lecky-Thompson // All Rights Reserved class PseudoRandomizer { private: unsigned long ulGen1, ulGen2, ulSeed, ulMax; public: PseudoRandomizer(unsigned long ulGen1, unsigned long ulSeed, unsigned long ulMax); unsigned long PseudoRandom(); unsigned long PseudoRandom(unsigned long ulMaxValue); };
|
|
|