Hola a todos ! Soy totalmente nueva en esto,espero puedan ayudarme :)
Mi práctica consiste en el juego Mastermind.
El error que me sale dice que la variable color no está inicializada .
Yo lo que he hecho es crear una función llamada converNumEnum (convertir de un numero entero a tipo enumerado) ya que al obtener el codigo aleatorio lo que obtenemos es un número entero y tenemos que luego relacionarlo con el enumerado .
En esta función converNumEnum tengo al final el "return color;"
Yo entiendo que al salir de esta función el "color" debería reconocerlo el siguiente paso de la función codigoAleatorio(tCodigo secreto) ,es decir,secreto[i]=color;
Sin embargo es justo ahí donde me señala el error
Estas son mis dos funciones:
tColores converNumEnum(int codeSecreto){
tColores color;
switch(codeSecreto) {
case 0: color = rojo;
break;
case 1: color = azul;
break;
case 2: color = verde;
break;
case 3: color = negro;
break;
case 4: color = granate;
break;
case 5: color = marron;
break;
}
return color;
}
/* Genero un código aleatorio de longitud 4(FICHAS_JUGADA) que luego guardaré en el array tCodigo secreto. */
void codigoAleatorio(tCodigo secreto){
int codeSecreto;
int num[FICHAS_TOTALES];
tColores color;
for (int i = 0 ; i< FICHAS_JUGADA; i++){ //Para cada posición (bucle)
/*Genera un número aleatorio del 0 al 5 con repetición. */
codeSecreto= rand() % FICHAS_TOTALES;
num[i] = codeSecreto;
converNumEnum(codeSecreto); //Llamada a la función anterior
/*Los tipos enumerados se guardan en el array tCodigo secreto. */
secreto[i]=color;
}
//Mostramos el codigo aleatorio en pantalla:
for (int j = 0 ; j< FICHAS_JUGADA; j++){
cout << secreto[j] << " ";
}
}