UN JUEGO LLAMADO SCRAPS

Iniciado por BARIS514, 26 Marzo 2020, 09:09 AM

0 Miembros y 1 Visitante están viendo este tema.

BARIS514

EL PROGRAMA ME DA ERROR POR ALGUNA RAZÓN Y ME ENFOCA AL 'SRAND(time( NULL) )'
Y HONESTAMENTE NO SE POR QUE.

Código (cpp) [Seleccionar]
/*Figura 5.10: fig05_10.c
 Craps*/
#include<stdio.h>
#include<stdlib.h>
#include<time.h> //contiene el prototipo de la funcion time

/*Constantes de enumeracion que representan el estado del juego*/
enum Estatus { CONTINUA, GANA, PIERDE};

int tiraDados( void ); /*prototipo de la funcion*/

/*la funcion main comienza la ejecucion del programa*/
int main()
{
int suma; /*suma del tiro de datos*/
int miPunto;/*punto ganado*/

enum Estatus estatusJuego  /*puede contener CONTINUA,GANA O PIERDE*/

/*randomiza el generador de numeros aleatorios mediante la funcion time*/
srand( time( NULL) );

suma = tiraDados();  /*primer tiro de los dados*/

/*determina el estado del juego basado en la suma de los dados*/
switch( suma ){

/*gana en el primer tiro*/
case 7:
case 11:
estatusJuego = GANA;
break;

/*pierde en el primer tiro */
case 2:
case 3:
case 12:
estatusJuego = PIERDE;
break;

/*RECUERDO EL PUNTO*/
default:
estatusJuego = CONTINUA;
miPunto = suma;
printf("Su punto es %d\n", miPunto);
break;//opcional el break en este case

}//fin de switch
    /*mientras el Juego no se complete*/
    while( estatusJuego == CONTINUA){
    suma = tiraDados(); /*tira de nuevo los dados*/
   
    /*determina el estatus del juego*/
    if(suma == miPunto){/*gana por punto*/
    estatusJuego = GANA; /*Fin del juego, el jugador gana*/
    }/*fin de if*/
    else{
   
    if(suma == 7){/*pierde el tirar */
    estatusJuego = PIERDE;
}/*Fin de if*/

}/*fin de else*/

}/*fin de while*/

/*despliega mensaje de triunfo o derrota*/
if( estatusJuego == GANA ){ /*¿Gano el jugador? */
printf("El jugador gana \n");
}/*fin de if*/
else{/*el jugador pierde*/
printf("El jugador pierde\n");
}//fin del else

return 0;//indica terminacion exitosa

}//fin de main

//tiro de dados, calcula la suma y despliega los resultado
int tiraDados( void )
{
int dado1;//primer dado
int dado2;//segundo dado
int sumaTemp;//suma de los dados

dado1 = 1 + (rand() % 6 );
dado2 = 1 + (rand() % 6 );
sumaTemp = dado 1 + dado2;

/*despliega los resultados de este tiro*/
printf("El jugador tiro %d + %d = %d\n",dado1, dado2, sumaTemp);

return sumaTemp; /*devuelve la suma alos dados*/

}/*fin de a funcion tiradados*/










ALGUIEN POR FAVOR AYUDEME :(

engel lex

primero que nada, no escribas en mayusculas


por otro lado las funciones como stdlib no llevan .h, ninguna del standard C lo lleva

otra cosa... dices que te da error, pero no dices cual,


por cierto tienes errores de sintaxis en varios lugares
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

BARIS514

Si lo sé xD, sabes gracias por tu respuesta, primero que nada ya resolví el problema; el problema era que me faltaba un punto y coma en una parte.

Jajaj Disculpa por las molestias   xD

Mecanma

Aquí te correí unas cuanas lineas  creo que funciona como debería

Código (cpp) [Seleccionar]


#include<cstdio>
#include<cstdlib>
#include<ctime> //contiene el prototipo de la funcion time

/*Constantes de enumeracion que representan el estado del juego*/
enum Estatus { CONTINUA, GANA, PIERDE};

int tiraDados( void ); /*prototipo de la funcion*/

/*la funcion main comienza la ejecucion del programa*/
int main()
{
int suma; /*suma del tiro de datos*/
int miPunto;/*punto ganado*/

enum Estatus estatusJuego;  /*puede contener CONTINUA,GANA O PIERDE*/

/*randomiza el generador de numeros aleatorios mediante la funcion time*/
srand( time( NULL) );

suma = tiraDados();  /*primer tiro de los dados*/

/*determina el estado del juego basado en la suma de los dados*/
switch( suma ){

/*gana en el primer tiro*/
case 7:
case 11:
estatusJuego = GANA;
break;

/*pierde en el primer tiro */
case 2:
case 3:
case 12:
estatusJuego = PIERDE;
break;

/*RECUERDO EL PUNTO*/
default:
estatusJuego = CONTINUA;
miPunto = suma;
printf("Su punto es %d\n", miPunto);
break;//opcional el break en este case

}//fin de switch
     /*mientras el Juego no se complete*/
     while( estatusJuego == CONTINUA){
      suma = tiraDados(); /*tira de nuevo los dados*/

      /*determina el estatus del juego*/
      if(suma == miPunto){/*gana por punto*/
      estatusJuego = GANA; /*Fin del juego, el jugador gana*/
      }/*fin de if*/
      else{

      if(suma == 7){/*pierde el tirar */
      estatusJuego = PIERDE;
}/*Fin de if*/

}/*fin de else*/

}/*fin de while*/

/*despliega mensaje de triunfo o derrota*/
if( estatusJuego == GANA ){ /*¿Gano el jugador? */
printf("El jugador gana \n");
}/*fin de if*/
else{/*el jugador pierde*/
printf("El jugador pierde\n");
}//fin del else

return 0;//indica terminacion exitosa

}//fin de main

//tiro de dados, calcula la suma y despliega los resultado
int tiraDados( void )
{
int dado1;//primer dado
int dado2;//segundo dado
int sumaTemp;//suma de los dados

dado1 = 1 + (rand() % 6 );
dado2 = 1 + (rand() % 6 );
sumaTemp = dado1 + dado2;

/*despliega los resultados de este tiro*/
printf("El jugador tiro %d + %d = %d\n",dado1, dado2, sumaTemp);

return sumaTemp; /*devuelve la suma alos dados*/

}/*fin de a funcion tiradados*/