Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: chivis cristian en 11 Diciembre 2011, 16:04 pm



Título: ahorcado en c
Publicado por: chivis cristian en 11 Diciembre 2011, 16:04 pm
buenas vi que karman publico este codigo fuente y entendi poco  la logica  alguien que me explique por favor como fue desarrollado el codigo fuente en especial la grafica del codigo estoy en duda no llego a entender como lo hizo es que soy nuevo en programacion estaria muy agradecido

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
 
#define N 12
char txt[9];
char datos[N][9]={
"anteojo","avioneta","zapallo","martir",
"espejo","anzuelo","heciano","tripode",
"insecto","agujero","carnada","cabeza"};
 
char dibuj[9][7]={
  "____",
  "|  |",
  "|  |",
  "|",
  "|",
  "|",
  "|",
  "|",
  "------"
};
 
struct pst{
  int pos;
  char part[5];
}parts[7]={{3,"  O"},{4," /"},{4,"|"},
{4,"\\"},{5,"  |"},{6," /"},{6," \\"}};
 
int main(int argc, char *argv[])
{
  int n,m,o,p,i,j,r,eq=0;char lc,tmp[10];
 
  srand(time(NULL));
  o=rand()%N;
 
  m=strlen(datos
  • );p=m-2;

  txt[0]=datos
  • ;txt[m-1]=datos
  • [m-1];
  for(n=1;n<m-1;n++)txt[n]='_';txt[m]=0;
  printf("Ahorcatesss!!! Vr. 1.0\n\n");tmp[0]=0;
  for(i=0;i<9;i++)printf("%s\n",dibuj);
 
  do{
 
    for(j=0;j<strlen(tmp);j++){
      lc=tmp[j];r=p;
      for(n=1;n<m-1;n++)
        if(datos
  • [n]==lc){
          txt[n]=lc;datos
  • [n]='_';p--;
        }
      if(r==p){
        strcat(dibuj[parts[eq].pos],parts[eq].part);
        eq++;
      }
      for(i=0;i<9;i++)printf("%s\n",dibuj);
    }
 
    if(eq>=7)break;
 
    if(p>0){
      printf("\nPalabra: %s - Ingrese 1 letra (* para terminar): ",txt);
      scanf("%10s",&tmp);
    }lc=tmp[0];
    system("cls");
  }while(lc!='*'&&p);
 
  if(!p)printf("\nPalabra: %s - Ganaste cara de Naco!!!\n\n",txt);
  else if(eq>=7)printf("\nJAJA!!! Loooooser!!!\n\n");
  else printf("\nK c's Papá??? Recatate!!!\n\n");
 
  system("PAUSE");   
  return 0;
}


Título: Re: ahorcado en c
Publicado por: [L]ord [R]NA en 11 Diciembre 2011, 20:26 pm
Pon el codigo dentro de las debidas etiquetas.