Holas
Primero el Code después explico:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
enum Estatus {continua, gana, pierde};
int tiradados(void);
int main()
{
int suma, punto;
enum Estatus juego;
srand(time(NULL));
suma = tiradados();
switch(suma) {
case 7:
case 11:
juego = gana;
break;
case 2:
case 3:
case 12:
juego = pierde;
break;
default:
juego = continua;
punto = suma;
printf("Su punto es: %d\n", punto);
break;
}
while (juego == gana) {
suma = tiradados;
if (suma == punto) {
juego = gana;
}
else {
if (suma == 7) {
juego = pierde;
}
}
}
if (juego == gana) {
printf("Ganaste; Felicitaciones 8D\n");
}
else {
printf("Perdiste; Mejor suerte para la proxima.\n");
}
return 0;
}
int tiradados(void)
{
int dado1, dado2, sumada;
dado1 = 1 + (rand() % 6);
dado2 = 1 + (rand() % 6);
sumada = dado1 + dado2;
printf("Tiraste: %d + %d = %d\n", dado1, dado2, sumada);
return sumada;
}
Se supone que este es el juego craps.
El problema viene siendo, que cuando gano no me sale el mensaje de que gane, solamente se queda ahí; Tampoco cuando me sale un número diferente a 1, 2, 3, 11, y 12, no me deja seguir tirando, me dice, perdiste.
¿Es posible que haya por ahi algun bucle infinito? :silbar:
¡Saludos!
:-X
ya encontré el error.
modifique esto:
while (juego == gana) {
suma = tiradados;
por esto:
while (juego == continua) {
suma = tiradados();
:rolleyes:
Gracias por responder.
$4!u2
Ta feito el codigo y no consco ese juego pero pes... una de las cosas que vi es que hay una parte en la que llamas a una funcion sin ponerle los ()
Saludos
EDITO
Q bueno q te diste cuenta :)