• Sábado 14 de Diciembre de 2024, 10:11

Autor Tema:  Re: ALGUIEN DISPONE DEL JUEGO DEL AHORCADO EN C?????  (Leído 7422 veces)

Johanyx

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: ALGUIEN DISPONE DEL JUEGO DEL AHORCADO EN C?????
« en: Lunes 18 de Febrero de 2002, 10:07 »
0
Hola!!! Tengo problemas con una practica que me han mandado tengo que realizar un programa en C del juego del ahorcado y no me apaño a la hora de mostrar * donde hay letras y que no se repita... en fin en todo ¡HELP! Estoy echo un lio:(:(:(:(:(

tenesor

  • Miembro activo
  • **
  • Mensajes: 90
    • Ver Perfil
Re: ALGUIEN DISPONE DEL JUEGO DEL AHORCADO EN C?????
« Respuesta #1 en: Lunes 18 de Febrero de 2002, 20:01 »
0
Bueno, aqui te lo pongo. Pero este codigo NO ES PARA QUE LO COPIES :D, simplemente mira en lo que tengas duda y haz tu version!!!

Saludos,
   Tenesor

|-------------------------------------------|

/* PROGRAMA REALIZADO POR JONATHAN VILLANUEVA TAVIRA EN LA
UNIVERSIDAD DEL SOL
   AREA DE INGENIERIA NOVIEMBRE DEL 2000 CUERNAVACA,MORELOS,MEXICO*/



#include <stdio.h>               /*LIBRERIA POR DEFAULT*/
#include <stdlib.h>              /*LIBRERIA PARA MANEJAR EL RANDOM*/
#include <ctype.h>               /*LIBRERIA PARA MANEJAR EL ISALPHA*/
#include <conio.h>               /*LIBRERIA DE GRAFICOS*/
#include <string.h>              /*LIBRERIA PARA MANEJAR EL STRLEN*/
#include <dos.h>                 /*LIBRERIA PARA MANEJAR EL DELAY*/

char palabras[10][10];           /*ARREGLO DONDE GUARDO LOS NOMBRES*/
char palabra[10],respuesta[10];  /*VARIABLE DONDE IRE ALMACENANDO LAS
LETRAS*/
char letra,opc,catego;                  /*VARIABLE QUE ALMACENO LA
LETRA*/

int i,j,y,elegida,longitud,opor,a;

int presenta(void);
int categoria(void);
int elegir(int);
int imprime(void);

void main(void)
{

presenta();
do{
    categoria();
    textbackground(BLUE);  /*COLOR DE FONDO AZUL*/
    textcolor(WHITE);      /*COLOR DE LETRA BLANCO*/
    clrscr();              /*LIMPIO PANTALLA*/

    switch(catego){
    case '1':
    gotoxy(1,1);printf("CATEGORIA:FRUTAS");
    break;
    case '2':
    gotoxy(1,1);printf("CATEGORIA:DEPORTES");
    break;
    case '3':
    gotoxy(1,1);printf("CATEGORIA:PAISES");
    break;
    }

    i=j=y=elegida=longitud=opor=a=0;   /*INICIALIZO LAS VARIABLES CON
CERO*/

   for(i=0;i<10;i++)
   {
       respuesta=NULL;        /*CON ESTE FOR LIMPIO LA CADENA*/
   }

   /*DESPLIEGO JUEGO DEL AHORCADO*/
   gotoxy(32,1);
   printf("JUEGO DEL AHORCADO");

   /*ESTE FOR DESPLIEGA EL ALFABETO*/
   for(i=0;i<26;i++)
   {
      gotoxy(i*2+18,4);
      printf("%c",65+i);
   }


       /*ESTA FUNCION CARGA LOS NOMBRES AL ARREGLO*/


       /*ESTA FUNCION ELIGE UN NUMERO ALEATORIO PARA ESCOGER UNA
PALABRA*/
       randomize();
       j=random(9);

       /*FUNCION QUE ELIGE ALEATORIAMENTE LA PALABRA*/
       elegir(j);
       longitud=strlen(palabra);
       imprime();


   do{
     gotoxy(25,9);
     printf("A D I V I N A   L A  P A L A B R A");
     gotoxy(28,12);
     printf("E L I G E  L A  L E T R A=>>");

          do{
        letra=toupper(getch());     /*CON ESTE DO NO ADMITO
NUMEROS*/
     }while(!isalpha(letra) );

     gotoxy(10+opor*3,22);
     printf("%c",letra);

     gotoxy(25,15);
     printf("MAXIMO 20 INTENTOS INTENTO[%d]",opor+1);


     for(i=0;i<longitud;i++)
        {
         if(letra==palabra)
         {
       gotoxy(15+i*4+18,19);
       printf("%c",letra);
       respuesta=letra;
          }
        }

        y=strcmp(palabra,respuesta);

        if(y==0){
      gotoxy(32,23);
      printf("C  O  R  R  E  C  T  O");
           }


      opor++;
   }while(opor<20 && y!=0);

    if(opor==20)
    {
       gotoxy(26,23);
       textcolor(RED);
       cprintf("**INCORRECTO LA PALABRA ERA** %s",palabra);
    }


    gotoxy(28,25);
    printf("¨DESEA VOLVER A JUGAR[S/N]=>>?");

    do{
      opc=toupper(getch());
    }while(opc!='S' && opc!='N');

}while(opc!='N');

   presenta();
   clrscr();
   exit(1);
   return;

}



cargarfrutas()
{

  strcpy(palabras[0],"MANZANA");
  strcpy(palabras[1],"NARANJA");
  strcpy(palabras[2],"SANDIA");
  strcpy(palabras[3],"FRESA");
  strcpy(palabras[4],"TORONJA");
  strcpy(palabras[5],"MANGO");
  strcpy(palabras[6],"PLATANO");
  strcpy(palabras[7],"UVAS");
  strcpy(palabras[8],"GUAYABA");
  strcpy(palabras[9],"CIRUELA");
  return 0;

}


elegir(int pal)
{
  strcpy(palabra,palabras[pal]);
  return 0;


}

imprime()
{
 for(i=1;i<=longitud;i++){
    gotoxy(15+i*4+14,20);printf("_");
    }
    return 0;
}


presenta()
{


   textbackground(CYAN);
   textcolor(WHITE);
   clrscr();
   gotoxy(25,12);
   cprintf("JUEGO DEL AHORCADO 2-NOV-2000");
   gotoxy(30,13);
   cprintf("ESPERA UN MOMENTO...");
   delay(2000);
   return 0;



}

cargardeportes()
{
  strcpy(palabras[0],"FUTBOL");
  strcpy(palabras[1],"BASEBALL");
  strcpy(palabras[2],"GOLF");
  strcpy(palabras[3],"TENNIS");
  strcpy(palabras[4],"GIMNASIA");
  strcpy(palabras[5],"PINPON");
  strcpy(palabras[6],"SOCCER");
  strcpy(palabras[7],"NATACION");
  strcpy(palabras[8],"MARATON");
  strcpy(palabras[9],"CICLISMO");
  return 0;

}

cargarpaises()
{
strcpy(palabras[0],"JAPON");
  strcpy(palabras[1],"COREA");
  strcpy(palabras[2],"FRANCIA");
  strcpy(palabras[3],"ITALIA");
  strcpy(palabras[4],"MEXICO");
  strcpy(palabras[5],"CANADA");
  strcpy(palabras[6],"USA");
  strcpy(palabras[7],"ARGENTINA");
  strcpy(palabras[8],"BRASIL");
  strcpy(palabras[9],"PARAGUAY");
  return 0;




}


categoria()
{
  textbackground(RED);
  textcolor(WHITE);
  clrscr();
  gotoxy(25,1);
  cprintf("***C A T E G O R I A S***");
  gotoxy(30,5);
  cprintf("1.-F R U T A S");
  gotoxy(30,8);
  cprintf("2.-D E P O R T E S");
  gotoxy(30,11);
  cprintf("3.-P A I S E S");
  gotoxy(30,15);
  cprintf("ELIGE TU OPCION=>>");

  do{
    catego=getch();
  }while(catego!='1' && catego!='2' && catego!='3');

  switch(catego){
   case '1':cargarfrutas();
   break;
   case '2':cargardeportes();
   break;
   case '3':cargarpaises();
   break;
   }
   return 0;
}


[Modificado el 2/18/02 por tenesor]
Que el toro estoque al matador, que el preso enciere al guardián, que solo sean de cerveza los tanques, que el pez pesque al pescador y que el tigre dome al domador, que la television se prohiba y el hachis se legalice, que africa sea tierra mágica y no trágica... cambiando el mundo [NS]

ibito

  • Miembro HIPER activo
  • ****
  • Mensajes: 549
  • Nacionalidad: mx
  • Se mas de C++ que lo que se de ese CSS
    • Ver Perfil
    • http://www.ibquezada.com
Re: ALGUIEN DISPONE DEL JUEGO DEL AHORCADO EN C?????
« Respuesta #2 en: Lunes 18 de Febrero de 2002, 23:26 »
0
Y como harias eso pero que las palabras esten en un documento de texto?
______________________________________
www.hazjuegos.com Una comunidad dedicada al desarrollo de videojuegos.

tenesor

  • Miembro activo
  • **
  • Mensajes: 90
    • Ver Perfil
Re: ALGUIEN DISPONE DEL JUEGO DEL AHORCADO EN C?????
« Respuesta #3 en: Martes 19 de Febrero de 2002, 03:04 »
0
Bueno, eso es simple. Lo unico que se ha de hacer es hacer tres ficheros (puedes utilizar de texto y que los lea el usuario o puedes utilizar binarios para que sean ilegibles:)), cada fichero es una categoria. En cada categoria metes las palabras que quieras. Y en las funciones en las que eliges una palabra, lees todas en un array y con un numero aleatorio eliges la palabra que esta almacenada en esa variable del array de esa categoria.

No se si se entiende lo que quiero decir, pero si me pongo (ahora estoy un poquillo liado pero es simple y rapido) ya mandare el codigo fuente del ahoracado con ficheros:)

Saludos,
   Tenesor
Que el toro estoque al matador, que el preso enciere al guardián, que solo sean de cerveza los tanques, que el pez pesque al pescador y que el tigre dome al domador, que la television se prohiba y el hachis se legalice, que africa sea tierra mágica y no trágica... cambiando el mundo [NS]

Johanyx

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
ALGUIEN DISPONE DEL JUEGO DEL AHORCADO EN C?????
« Respuesta #4 en: Miércoles 20 de Febrero de 2002, 09:48 »
0
GRACIAS TIOS SOYS LA LECHE!!! vaya peaso se program!! solo me queda retocarlo como lo harias para no tener variables globales y hacerlo con locales, deberia de meterle apuntadores???? como se hace con apuntadores

MERCI!!! soys cojonudos;);););)