Ver Mensaje Individual
  #12  
Antiguo 01-09-2012
m1kevil m1kevil is offline
Registrado
NULL
 
Registrado: ago 2012
Posts: 7
Reputación: 0
m1kevil Va por buen camino
No sabes como te agradezco la ayuda Escafandra! Me estaba pelando las pestañas! Funciona de maravilla!!!

Código:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <time.h>

int tirarDados (void);
int transEntero (char);
int cantJugadores (void);
int elegirPuntuacion (void);
char ingresarNombres (int);
int Dados, Jugadores, puntuacionMax;


int main () {
    
    char Nombres[Jugadores][40];
    
    srand (time(NULL));
    
    printf("!Bienvenidos al juego: EL PRESO!\n\n");
    
    Jugadores = cantJugadores();
    puntuacionMax = elegirPuntuacion();
    Nombres[Jugadores][40] = ingresarNombres(Jugadores);
    
    tirarDados();
    
    
system("pause");
return EXIT_SUCCESS;

    }
    
    
// Funcion para tirar los dados //  
int tirarDados (void) 
{    
     Dados = rand() % 11+2;
     printf("Arrojas los dados. Has sacado %d! \n", Dados);
    
    return Dados; 
}  

// Funcion para pasar de char a entero //
int transEntero(char s)
{
return s - '0';
} 

// Funcion para validar la cantidad de jugadores al principio del juego//
int cantJugadores ()
{
    do
    {
    printf("Ingrese la cantidad de jugadores (2 a 5): ");
    Jugadores = transEntero(getche());
    printf("\n");
    } while (Jugadores < 2 || Jugadores > 5);
    
    printf("Los participantes del juego seran %d.\n\n", Jugadores);
    return Jugadores;     
}

// Funcion para elegir la maxima puntuacion al ppio del juego //
int elegirPuntuacion ()
{
    char buffer [256];
    do
    {
    printf("Determine la cantidad de presos que se permiten dejar escapar (50 a 200): ");
    fgets (buffer, 256, stdin);
    puntuacionMax = atoi (buffer);
    } while(puntuacionMax < 50 || puntuacionMax > 200);
  
    printf("No podran escaparse mas de %d presos. Si esto ocurre, el jugador pierde. A Jugar!!! \n\n", puntuacionMax);
    return puntuacionMax;
}

// Funcion para definir nombres de los jugadores //
char ingresarNombres (int Jugadores)
{
  int i;
  char Nombres[Jugadores][40];
  char Buffer[1024];  // Buffer para la entrada por teclado.
  for(i = 0; i < Jugadores; i++)
  {
    printf("Ingrese el nombre del jugador %d: ", i+1);
    strncpy(Nombres[i], gets(Buffer), 40);  // aseguramos que no entran mas de 40 caracteres
  }
  for(i = 0; i < Jugadores; i++)
  {
    printf("El jugador %d se llama: %s\n", i+1, Nombres[i]);
  }
  return Nombres[Jugadores][40];
}
Ahí está como va quedando todo el código. Tuve un problema al declarar la variable char Nombres[Jugadores][40] globalmente... me tira un error el compilador diciendo: "variable-size type declared outside of any function" , lo cual es logico, pero justamente debería pasar eso.. :S Asique tuve que declararla en el main y en la funcion.
Por favor avisame si tienes alguna solución para ese pequeño problema. Desde ya muchas gracias por tu tiempo, es justo lo que necesitaba.

Es un gran avance para mi.. ahora tengo que planear mejor en lapiz y papel la lógica del juego.
Responder Con Cita