AYUDA ahorcado en c

Iniciado por KIDRAP1, 2 Julio 2013, 16:36 PM

0 Miembros y 1 Visitante están viendo este tema.

KIDRAP1

Muchachos urgente necesito ayuda necesito modificar este codigo para que tenga un contador de intentos fallidos y los muestre por pantalla mientras se esta jugando debe tener 8 intentos por default
#include <stdio.h>
#include <stdlib.h>
#include <string.h>           
#include <time.h>  //Nos permite usar la funcion random (srand) que nos permite que por cada vez que el usuario quiera jugar el programa usa una palabra diferente
#define NP 5             /*definimos la variable N como valor constante = 5* QUIERE DECIR QUE USAREMOS 5 PALABRAS PARA JUGAR*/
char letra[2];           /*Variable que guardara la letra el usuario solo podra teclear dos carateres pero solo te tomara en cuenta un caracter que ser el que se comparara con el vector o palabra a adivinar*/
char palabras[NP][9]={     /*variable contentiva de las palabras a adivinar NP VALE 5 QUE ES LA CANTIDAD DE PALABRAS QUE TENEMOS Y [9] SIGNIFICA QUE ES EL VALOR MAXIMO DE CARACTERES QUE TENDRA CADA PALABRA*/
"calabaza","avion","caracas","montaña",
"unefa"};

int main(int argc, char *argv[])//funcion principal in main empezamos a definir las intrucciones de nuestro codigo
{
    printf("\t\t\t    Nombre:Angelo moreno\n\n");/*portada*/
printf("\t\t\t  Proyecto: Juego El Ahorcado\n\n\n\n");
printf("\t\t\t    Profesor:Roberto Ruiz\n\n\t\t\t    INGENIERIA EN SISTEMAS\n\n\t\t\t         UNEFA SAN-TOME\n\n\n\n\n\n");
system("color c0");
system ("pause"); /*pausa el programa*/
system("cls");
int n,m,o,p,i,j,r,eq=0;char lc,tmp[10]; /*declaracion de variables locales enteras*/

srand(time(NULL));/*nos permite que cada palabra tenga la misma posibilidad de adivinarse cada vez que se abra el programa*/
o=rand()%NP;/*nos permite que cada palabra tenga la misma posibilidad de adivinarse cada vez que se abra el programa*/

m=strlen(palabras[o]);p=m-2;/*nos pertmite mostrar con el caracter piso cuantos caracteres posee la palabra a adivinar*/

letra[0]=palabras[o][0];letra[m-1]=palabras[o][m-1];/*cuenta los errores por cada letra introducida*/
for(n=1;n<m-1;n++)letra[n]='_';letra[m]=0;
printf("\t\t            Adivina la palabra o Muere\n\n");tmp[0]=0;


do{
for(j=0;j<strlen(tmp);j++){
lc=tmp[j];r=p;
for(n=1;n<m-1;n++)
if(palabras[o][n]==lc){
letra[n]=lc;palabras[o][n]='_';p--;
}
if(r==p){

eq++;
}

}

if(eq>=8)break;

if(p>0){
printf("\n\t\t         Palabra: %s Escribe una letra",letra);
scanf("%10s",&tmp);

}lc=tmp[0];
system("cls");
}while(lc!='*'&&p);

if(!p)printf("\nPalabra: %s - Ganaste !!!\n\n",letra);
else if(eq>=7)printf("\n\n\n\t\t\t\t Perdistes\n\n\n\n\n");

system("PAUSE");
exit (0);  //nos permite salir del juego
}

eferion

Edita tu mensaje y donde pones el código, deja la etiqueta así [ code = cpp ] pero sin espacios. Con eso mejorarás un poco la presentación del código.

Y en lo referente a tu problema, a ver si lo entiendo... ya tienes un hilo dedicado a esto y como la gente no te contesta creas otro??

un poco de seriedad.

Además no se qué me da que estás copiando prácticas de tus compañeros y no tienes ni idea de lo que estás haciendo... porque este código y el del hilo original se parecen como un huevo a una castaña.

[Case]

Si entendieras el codigo que tienes, meterle un contador es algo trivial.
Por favor, un poco mas de estudio.

pacoperico

Te lo digo sin acritud, ese codigo es horroroso.