Hola a todos :)!
Estoy haciendo una práctica en la que me dicen que se puede
solicitar una pista cada 2 intentos y que solo se puede solicitar 2 pistas como máximo.
Al decirme que solo se puede pedir cada 2 intentos,sé que tengo que verificar si "intentos" es
múltiplo de 2 .
En cuanto a lo de solicitar como máximo 2 pistas,he creado dos
contadores que se llaman:
pistasDisponibles y pistasUsadas.
Se supone que si hasta el intento 4 no he pedido ninguna pista,acumulo entonces 2 pistas en "pistasDisponibles"(porque he pasado por el intento 2 y el intento 4 y ambos son múltiplos de 2) .Otro ejemplo,si en el intento 2 no he pedido pista ,se supone que sumo 1 a pistasDisponibles y que por tanto en el intento 3 puedo usarlo.
Sin embargo,mi código solo accede a darme pistas cuando es múltiplo de 2 ...
Espero puedan ayudarme ,gracias de antemano.
--------------------------------------------------------
Parte del if y else principales son exactamente
iguales excepto por la condición if(pistasDisponibles >=0){..} que en el
else,e
n lugar de 0,he puesto un
1 .
Código C++:
Ver originalint pistasUsadas=0;
int pistasDisponibles=0;
[...]
//Solo se puede conseguir pistas mientras que la variable intentos sea un múltiplo de 2.
if(intentos%2 == 0){
pistasDisponibles++;
if(pistasDisponibles >=0){
if(pistasUsadas < PISTAS_MAX){ //PISTAS_MAX es una constante con valor 2.
generarPista(secreto); //Función que me genera una pista
pistasUsadas++; /*Cuando el usuario usa una pista,se incrementa la variable pistasUsadas porque se debe tener en cuenta que solo se pueden dar 2 pistas. */
pistasDisponibles--;
}
else{
cout << "Lo siento!.Ya has gastado el maximo de pistas." << endl;
}
}
}
else{
if(pistasDisponibles >=1){
//Lo mismo que he puesto en el if de arriba :)
}
}