C/Visual C - Juego Ahorcado

 
Vista:

Juego Ahorcado

Publicado por HaT[eD] (2 intervenciones) el 24/06/2010 23:55:14
#include <stdio.h>
#include <stdlib.h>

int tam,tam2, a, k, z=0, mal, c, x;
char cad[80];
char cad2[80]="*******************";
char *ptr, car;

int main() {
printf("\nBIENVENIDO! \n");
printf("** El juego del ahorcado **\n\n");
printf("Conocedor de la palabra");
printf("\n\n\t Introduce la palabra sin que la vea el jugador: ");
gets(cad);
system("cls");
for(ptr=cad; *ptr!='\0'; ptr++);
tam=(int)(ptr-cad);
k=tam;
cad2[k]='\0';
mal=7;
for(ptr=cad, a=0; a<=tam;a++) {
printf("\t\t\nJUGADOR\n");
printf("\n\t Escribe la letra que creas que contiene la palabra: ");
fflush(stdin);
car=getchar();
for(k=0, c=1, x=0,tam2=tam, ptr=cad; c<=tam2; ptr++, k++, c++) {
if(car==*ptr)
{
cad2[k]=*ptr;
z=z+1;
x=1;
}
}
system("cls");
printf("\t\t\t \n\n LA PALABRA : %s \n", cad2);
if(x==0) {
mal=mal-1;
if(mal==0) {
printf("\n Suerte para la proxima tus oportunidaes se acabaron");
printf("\n LA PALABRA ERA: %s \n",cad);
printf(" ÉÍÍÍÍÍÍÍ»\n");
printf(" | º\n");
printf(" (_) º\n");
printf("o_|_o º\n");
printf(" | º\n");
printf(" _|_ º\n");
printf(" º\n");
printf(" _________º\n");
break;
}
else {
switch(mal)
{
case 7:
printf("\n Esa letra no contiene \n");
printf("\n Numero de oportunidaes que aun quedan son: %d \n",mal);
printf(" ÉÍÍÍÍÍÍÍ»\n");
printf(" | º\n");
printf(" (_) º\n");
break;
case 6:
printf("\n Esa letra no contiene \n");
printf("\n Numero de oportunidaes que aun quedan son: %d \n",mal);
printf(" ÉÍÍÍÍÍÍÍ»\n");
printf(" | º\n");
printf(" (_) º\n");
printf(" | º\n");
break;
default:
if(z==tam) {
printf("\n MUY BIEN ADIVINASTE LA PALABRA\a\a\a\n");
printf("\n La palabra es: %s \n",cad);
break;
}
else {
printf("\n Muy bien continua asi \a\n");
printf("\n Numero de oportunidades que aun quedan son: %d \n",mal);
}
}
}
printf("\n\n");
return 0;
}

}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Juego Ahorcado

Publicado por HaT[eD] (2 intervenciones) el 24/06/2010 23:58:17
Me da problemas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Juego Ahorcado

Publicado por Tom (619 intervenciones) el 25/06/2010 10:49:57
Sí, a mí me pasa lo mismo con las chicas. Me dan problemas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Solucion a su problema

Publicado por Lobo_Romeo (19 intervenciones) el 28/06/2010 07:32:46
Aqui esta el codigo corregido......si no le corre es por lo comentarios tienen q alinearlos bien

#include <stdio.h>
#include <stdlib.h>
#include <string.h>//Libreria para el strlen
#include <windows.h>//Libreria para el BOOL y para el Sleep

void main(void)
{int a, k, z=0, no_acerto, c, x;
char cad[80];
char cad2[80]="*******************";
char *ptr, car;
BOOL fin_de_juego=FALSE;

printf("\nBIENVENIDO! \n");
printf("** El juego del ahorcado **\n\n");
printf("Conocedor de la palabra");
printf("\n\n\t Introduce la palabra sin que la vea el jugador: ");
gets(cad);
system("cls");

/* for(ptr=cad; *ptr!='\0'; ptr++); Lineas de codigo innecesarias
tam=(int)(ptr-cad);*/
k=strlen(cad);
cad2[k]='\0';
no_acerto=7;//mal???? A que referencia esta variable....tienen que poner nombres q den a enteder lo q hacen las variables

//Creo q un do-while mejora el codigo
do
{
printf("\t\t\nJUGADOR\n");
printf("\n\t Escribe la letra que creas que contiene la palabra: ");
fflush(stdin);
car=getchar();

for(k=0, c=1, x=0, ptr=cad; k<strlen(cad); ptr++, k++, c++)
{ if(car==*ptr)
{ cad2[k]=*ptr;
z=z+1;
x=1;
}
}
system("cls");

printf("\t\t\t \n\n LA PALABRA : %s \n", cad2);
if(x==0)
{ no_acerto=no_acerto-1;
if(no_acerto==0)
{ printf("\n Suerte para la proxima tus oportunidaes se acabaron");
printf("\n LA PALABRA ERA: %s \n",cad);
printf(" ÉÍÍÍÍÍÍÍ»\n");
printf(" | º\n");
printf(" (_) º\n");
printf("o_|_o º\n");
printf(" | º\n");
printf(" _|_ º\n");
printf(" º\n");
printf(" _________º\n");
fin_de_juego=TRUE;
break;
}
else
{
switch(no_acerto)
{ case 6:
printf("\n Esa letra no contiene \n");
printf("\n Numero de oportunidaes que aun quedan son: %d \n",no_acerto);
printf(" ÉÍÍÍÍÍÍÍ»\n");
printf(" | º\n");
printf(" (_) º\n");
break;
case 5:
printf("\n Esa letra no contiene \n");
printf("\n Numero de oportunidaes que aun quedan son: %d \n",no_acerto);
printf(" ÉÍÍÍÍÍÍÍ»\n");
printf(" | º\n");
printf(" (_) º\n");
printf(" | º\n");
break;
default:
if(z==strlen(cad))
{ printf("\n MUY BIEN ADIVINASTE LA PALABRA\a\a\a\n");
printf("\n La palabra es: %s \n",cad);
fin_de_juego=TRUE;
}
else
{ printf("\n Muy bien continua asi \a\n");
printf("\n Numero de oportunidades que aun quedan son: %d \n",no_acerto);
}
break;
}
}
printf("\n\n");
Sleep(3000);
system("cls");
}
else
{ if(z==strlen(cad))
{ printf("\n MUY BIEN ADIVINASTE LA PALABRA\a\a\a\n");
printf("\n La palabra es: %s \n",cad);
Sleep(3000);
fin_de_juego=TRUE;
}
}
}while(fin_de_juego==FALSE);
Sleep(3000);//Esta funcion permite detener la pantalla en milisegundo....para poder observar lo q se imprimio en pantalla...
//1000 es igual a 1 segundo.
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar