Hola, tengo que hacer que la máquina se ha vuelto más prudente y se plantará cuando su puntuación sea superior a la del humano o, en caso de que estén empatados, si la probabilidad de pasarse supera el 50%.
He creado esto pero no se para cuando la probabilidad de pasarse es mayor a un 50%.
bool esProbablePasarse(double puntosMaquina, const tCartasPorAparecer cartas)
{
int variable = 0, variable2 = 0;
bool pasarse,probabilidad;
double dato = 7.5 - puntosMaquina;
for (int i = 0; i < 8; i++)
{
variable = variable + cartas[i];
variable2 = cartas[i] + variable2;
}
probabilidad = variable / variable2;
if (probabilidad < 0.5)
{
pasarse = false;
}
else
pasarse = true;
return pasarse;
}
<variable> y <variable2> van a terminar con el mismo valor. Además:
int variable = 10, variable2 = 3;
double probabilidad = variable / variable2;
// probabilidad vale 3, no 3'3
Si haces una división de dos enteros, el resultado se convierte en un entero.
Para que el resultado sea un <double> tienes que hacer al menos uno de los operandos de tipo <double> o hacer un typecast:
probabilidad = (double)variable / variable2;