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,en lugar de 0,he puesto un 1 .
Código C++:
Ver original
int 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 :) } }