Im making a small C program to resemble the game code breaker or Mastermind. This is my code so far. As of now all it does is generate a “random” code and print the array of the code.. Every time I compile it, it generates the same array of 2,2,6,3. Can anyone help me have a truly random number generator?
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<time.h>
#define CODELENGTH 4
#define NUMSYMBOLS 6
const int LOW = 1;
const int HIGH = 6;
void genCode (int MasterCode[])
{
int i=0;
int k;
while (i < 4){
MasterCode[i] =rand() %(HIGH-LOW+1)+LOW;
i++;
}//end while loop.
for ( k = 0 ; k < 4; k++ ) {
printf( "%d ", MasterCode[ k ] );
}
printf( "\n" );
}
void getGuess (int guess[])
{
int b[ 4 ];
int number = 0;
printf( "Please enter your list of 4 numbers between 1 and 6: " );
int j;
int k;
for ( j = 0 ; j < 4; j++ ) {
scanf( "%d", &number );
b[ j ] = number;
}
printf( "Your array has these values: " );
for ( k = 0 ; k < 4; k++ ) {
printf( "%d ", b[ k ] );
}
printf( "\n" );
}
int main (int argc, char **argv)
{
int MasterCode[4];
genCode(MasterCode);
}
You need to seed the random number generator before using
rand(). This is usually done as:More information available here.