1: // Filename: RANCODIG.CPP 2: // Purpose: To provide a random number generator that generates only 3: // digits in the range 1..8 for use in Mastermind codes. 5: #include <time.h> 7: int RandomCodeDigit() 8: // Pre: none 9: // Post: Return value is an int digit in the range 1..8. 10: { 11: const int MODULUS = 65536; 12: const int MULTIPLIER = 25173; 13: const int INCREMENT = 13849; 15: static int seed = 0; 16: static int count = 0; 17: ++count; 18: if (count == 1) 19: seed = clock(); 21: double temp; 23: seed = ((MULTIPLIER * seed) + INCREMENT) % MODULUS; 24: temp = double(seed) / double(MODULUS); 25: return int( 8 * temp ) + 1; 26: }