martes, 16 de diciembre de 2008

Ejercicio del juego de dados

#include
#include
#include
#include
int explica_juego(){
  char jugar;
  int respuesta=0;
  printf("\n****************************");
  printf("\n**** GRAN JUEGO DE DADOS ***");
  printf("\n****************************");
  printf("\n\n Este juego consiste en tirar el dado en tres turnos");
  printf("\nGana el jugador cuya suma de puntos sea mayor");
  printf("\nDesea usted jugar (s/n)");
  scanf("%c",&jugar);
  if(jugar=='s') respuesta=1;
  return(respuesta);
}
int tirar_dado(int n_caras){
    int respuesta;
    respuesta=rand()%6+1;
    return(respuesta);
}
int muestre_resultados(int puntuaciones[]){
    int respuesta=0;
    int mayor_puntuacion=puntuaciones[0];
    int jugador;
    printf("\n*************************");
    printf("\n******  RESULTADOS   ****");
    printf("\n*************************");
    for(jugador=0;jugador<3;jugador++){
     printf("\nJUGADOR %d = %d puntos",jugador+1,puntuaciones[jugador]);
     if(puntuaciones[jugador]>mayor_puntuacion){
       mayor_puntuacion=puntuaciones[jugador];
       respuesta=jugador;
     }
    }
    return(respuesta);  
    
    }
main(){
   int opcion=0,turno,valor_dado,jugador,ganador;  
   int puntuaciones[3];  
   int semilla;
   //Inicializamos el generador de números
   //aleatorios
   semilla=time(NULL);
   srand(semilla);
   //Ponemos el casillero de puntos a 0
   for(jugador=0;jugador<3;jugador++)
     puntuaciones[jugador]=0; 
  //Explicación del juego
  opcion=explica_juego();
  while(opcion==1){
  //Juego
  printf("\nCOMIENZA EL JUEGO");
  for(turno=0;turno<3;turno++){
    system("cls");
    printf("\nTURNO numero %d",turno+1);
    fflush(stdin);
    getchar();
    for(jugador=0;jugador<3;jugador++){
       printf("\nTira el jugador %d",jugador+1);
       fflush(stdin);
       getchar();
       valor_dado=tirar_dado(6); 
       printf("\nHa salido %d",valor_dado);
       puntuaciones[jugador]+=valor_dado;
       printf("\nAcumula %d puntos", puntuaciones[jugador]); 
    }                      
  }
  //Resultados 
  ganador=muestre_resultados(puntuaciones);
  printf("\nHa ganado el jugador %d",ganador+1);
  
  opcion=explica_juego();      
  }   
       
       
       
       
       
}

0 comentarios: