elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Duda con ahorcado en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Duda con ahorcado en C  (Leído 6,168 veces)
satu


Desconectado Desconectado

Mensajes: 301

Siempre aprendiendo


Ver Perfil WWW
Re: Duda con ahorcado en C
« Respuesta #10 en: 28 Diciembre 2011, 21:37 pm »

Hola

Yo también he hecho una versión un poco parecida a la de Sagrini, aunque yo no utilizo lo de las pistas

Aquí la teneis

Código
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4. #include <time.h>
  5.  
  6. #define num_elementos 15 //Numero de palabras que hay en el fichero
  7. #define fich "palabras.txt" //En el fichero "palabras.txt" guardamos las palabras. Una por linea. Deja una linea en blanco al final
  8.  
  9. int main ()
  10. {
  11.    int intentos, cont, p, tam, flag;
  12.    char palabra[12], car, palabras[num_elementos][12], salir = 'n';
  13.  
  14.    printf("\n\n-----=====BIENVENIDO AL JUEGO DEL AHORCADO=====-----    by satu");
  15.  
  16.    FILE *fp;
  17.    fp = fopen(fich, "r");
  18.    if(!fp)
  19.    {
  20.        printf("Fallo al abrir fichero %s\n\n", fich);
  21.        return -1;
  22.    }
  23.  
  24.    for(cont = 0; cont < num_elementos; cont++)
  25.    {
  26.        fgets(palabras[cont], 12, fp);
  27.        tam = strlen(palabras[cont]);
  28.        palabras[cont][tam-1] = '\0';
  29.    }
  30.    fclose(fp);
  31.  
  32.    do
  33.    {
  34.        intentos = 5; //Numero de intentos para acertar la palabra
  35.        flag = 0; //Nos indica si la letra esta en la palabra o no
  36.        car = 0; //Caracter que vamos introduciendo en cada iteracion
  37.  
  38.        srand(time(NULL));
  39.        p = rand() % num_elementos; //Seleccionamos una palabra al azar
  40.  
  41.        tam = strlen(palabras[p]);
  42.  
  43.        memset (&palabra, '_', tam);
  44.        palabra[tam] = '\0';
  45.  
  46.        while((strcmp(palabra, palabras[p]) != 0) && (intentos > 0))
  47.        {
  48.            printf ("\n\nIntentos restantes: %i\nPalabra de %i letras: %s\n", intentos, tam, palabra);
  49.  
  50.            printf ("\nEscribe una letra: ");
  51.            car = getchar (); // car = fgetc (stdin);
  52.  
  53.            while(getchar() != '\n') ;
  54.  
  55.            for (cont=0; cont < tam; cont++)
  56.                if (car == palabras[p][cont])
  57.                {
  58.                    palabra[cont] = car;
  59.                    flag = 1;
  60.                }
  61.  
  62.            if(flag == 0)
  63.                intentos--;
  64.            flag = 0;
  65.        }
  66.  
  67.        if(intentos)
  68.            printf("\n\nMUY BIEN La palabra era: %s\n\n", palabra);
  69.        else
  70.            printf("\n\nOOOOOOOOHHHHHHHHHH La palabra era: %s\n\n", palabras[p]);
  71.  
  72.        printf("Quieres salir? (s/n) ");
  73.        salir = getchar();
  74.        while(getchar() != '\n') ;
  75.    }
  76.    while(salir != 's' && salir != 'S');
  77.  
  78.    printf("Pulsa Enter para continuar...");
  79.    getchar();
  80.    return 0;
  81. }
  82.  

Saludos


En línea

Breakbeat como forma de vida
folostia

Desconectado Desconectado

Mensajes: 111


Ver Perfil
Re: Duda con ahorcado en C
« Respuesta #11 en: 30 Diciembre 2011, 11:36 am »

Lo de los dibujitos lo hago de otra forma,como no puedo poner nada de lo que habéis puesto vosotros,pongo:
Código:
if (fallos=1) {
                                                     printf ("  
                                                                  |
                                                                  |
                                                                 _|_ ")

y así sucesivamente,es un coñazo,pero es lo que puedo hacer de momento.


Buff me está costando más de lo que pensaba este juego...  >:(


En línea

"Antes de que un software pueda ser reusable, primero ha de ser usable." (Ralph Johnson)
Usuario Linux:547941
satu


Desconectado Desconectado

Mensajes: 301

Siempre aprendiendo


Ver Perfil WWW
Re: Duda con ahorcado en C
« Respuesta #12 en: 30 Diciembre 2011, 16:07 pm »

Hola

Recuerda que las comparaciones se hacen con == no con =

Saludos
En línea

Breakbeat como forma de vida
folostia

Desconectado Desconectado

Mensajes: 111


Ver Perfil
Re: Duda con ahorcado en C
« Respuesta #13 en: 30 Diciembre 2011, 16:15 pm »

Hola

Recuerda que las comparaciones se hacen con == no con =

Saludos
sisi eso ya está corregido.Os pongo mi código(lo que llevo hecho) a ver si voy bien encaminado:

Código:
/*Juego del ahorcado*/
# include <stdio.h>
# include <stdlib.h>
# include <time.h>
# define f 6
# define c 6
int main ()
{
    char frase[i][c],palabra,letra;
    int cont,intentos=6,fallos=0,i,j;
    bool acertado=false;
    
    printf ("Introduce palabras \n");
    fflush (stdin);
    for (i=0;i<6;i++) {
        for (j=0;j<6;j++) {
            scanf ("%c",&frase[i][j]); } } /*Leemos las palabras que introducen*/

            
    printf ("Tienes 6 intentos \n");
    

    srand(time(NULL));  
    palabra = rand() % i; /*Seleccionamos una palabra aleatoria*/
  
    /*hay que escribir tantos guiones como letras haya*/
    for(i=0;i<26;i++){
                        frase[f][c]=0;}
    for(i=0;palabra!='\0';i++){
                        j=palabra-97;
                        frase[f][c]++;}
    for(i=0;i<26;i++){
             letra=i+97;
             printf("%c %i\n",letra,frase[f][c); /*aquí se tienen que escribir los guiones*/
                        
             for(cont=0;cont<=frase[f]c];cont++) {
                       printf ("_\t");}
             for (cont=0;cont<6;cont++) {
       printf ("Introduce letra: \n");
       fflush(stdin);
       scanf ("%c",&letra); } /*leemos la palabra introducida*/          
                      
                      
                      
                       }
  
    
    system ("PAUSE");
    return 0;
}
« Última modificación: 30 Diciembre 2011, 16:45 pm por IR.M » En línea

"Antes de que un software pueda ser reusable, primero ha de ser usable." (Ralph Johnson)
Usuario Linux:547941
folostia

Desconectado Desconectado

Mensajes: 111


Ver Perfil
Re: Duda con ahorcado en C
« Respuesta #14 en: 30 Diciembre 2011, 16:16 pm »

aún tengo muchas cosas que corregir y muchas incompletas,pero es lo que llevo hecho y me gustaría saber si voy bien encaminado
En línea

"Antes de que un software pueda ser reusable, primero ha de ser usable." (Ralph Johnson)
Usuario Linux:547941
Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
C# el ahorcado
.NET (C#, VB.NET, ASP)
Err... 7 15,376 Último mensaje 10 Enero 2011, 15:24 pm
por Khronos14
Juego del ahorcado C#
.NET (C#, VB.NET, ASP)
treblatp 3 12,629 Último mensaje 3 Febrero 2011, 20:18 pm
por Khronos14
[consulta] ahorcado :B « 1 2 »
Programación C/C++
Darioxhcx 17 10,521 Último mensaje 3 Febrero 2011, 00:41 am
por do-while
ahorcado
Programación C/C++
[JudasTeam]-BUG 8 5,421 Último mensaje 18 Junio 2011, 03:54 am
por BlackZeroX
ahorcado en c
Programación C/C++
chivis cristian 1 2,923 Último mensaje 11 Diciembre 2011, 20:26 pm
por [L]ord [R]NA
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines