Autor
|
Tema: ahorcado (Leído 5,991 veces)
|
[JudasTeam]-BUG
Desconectado
Mensajes: 2
¿ Quieres Jugar ?
|
|
ahorcado
« en: 16 Junio 2011, 09:11 am » |
|
taba el pedo,recorriendo el foro y vi que habia muchos programas de juegosde ahoracado asi qe para no aburrirme hice uno yo tambien,lo mas loco es que despues de programarlo me puse a jugar y estuve un buen rato entretenido,adivinando palabras xD! #include <stdio.h>
#define INTENTOS 5 //Numero maximo de intentos #define ALFABETO "abcdefghijklmnñopqrstuvwxyz" //Caracters permitidos #define PALABRAS 38
int intentos; //Numero de intentos realisados char LetraEscojida; //Letras nombradas char *palabras[PALABRAS]= /*Palabras para jugar*/ { "hola", "hello", "genital", "chupar", "disfrutalo", "judas", "team", "bug", "retorica", "hiphop", "asociacion", "libre", "de", "palabras", "sobame", "la", "quena", "forro", "foro", "zorro", "tornado", "peron", "evita", "phamtom", "el", "gauchito", "gil", "lamela", "soy", "pro", "constitucion", "consternado", "chojin", "manzana", "abesedario", "argentina", "chupete", "arina", }; int palabra; //Palabra con la que se esta jugando (indise de *palabras[]) int PalabraLen; //Longitud de la palabra char PalabraOculta[100]; //Muestra el numero de giones y letras amedida que la palabra se va adivinando
int Palabra_completada(char *); //Se ingresa la palabra oculta,si la palabra fue adivinada,debuelve 1,si no debuelve 0 int LetraValida(char *letra); //si caracter ingresado sea una letra del alfabeto español debuelve 1 ,sino debuelve 0 y borra el caracter
int main() { printf("toy al pedo.. programe esto.. si tas al pedo como yo.. jugalo"); printf("\nsolo se usan letras minusculas"); printf("\n\n SUERTE ! !"); getchar(); system("cls"); //borrar la pantalla en windows int I; //contador int Descontar; //FLAG - si no se aserto con la letra ingresada se manda a 1 indicando qeu se descuenta una vida palabra=0; do{ PalabraLen=strlen(palabras[palabra]); intentos=INTENTOS; memset(PalabraOculta,0,100); for(I=0;I < PalabraLen;I++) PalabraOculta[I]='-'; while(!Palabra_completada(PalabraOculta)) { printf("elige una letra \n Intentos Restantes %d\n %s\n%d letras\n",intentos,PalabraOculta,PalabraLen); do{ scanf("%c",&LetraEscojida); //pido un caracter fflush(stdin); //borro el \n del flujo ycaulqueir caracter que sobre }while(!LetraValida(&LetraEscojida)); //si el caracter es balido salgo del loop Descontar=1; //Mando la bandera a 1 for(I=0;I < PalabraLen;I++) { if(palabras[palabra][I] == LetraEscojida) { PalabraOculta[I]=LetraEscojida; //reemplaso los guines por las letras que corresponden a la palabra (si la hay) Descontar=0; //no se descontara una vida } }
if(Descontar)intentos--; //si no se aserto,se descuenta una vida system("cls"); //borrar la pantalla en windows if(!intentos) //si no quedan mas intentos (perdio el juego) { printf("Perdiste gilaso... \n la plabra era\n %s",palabras[palabra]); break; //salgo del loop } } if(intentos) printf(" %s\n GASATE! gilaso...",palabras[palabra]); getchar(); printf("\n Juegas de nuevo 1-Si / 0-No "); scanf("%d",&PalabraLen); //Uso la variable PalabraLen .. porque ta al p2 .. fflush(stdin); //borro el \n del flujo y caulqueier caracter que sobre .. otra vez if(palabra < (PALABRAS - 1)) //Compruevo si se acabo la lista de palabras palabra++; //cambio la palabra else palabra=0; //buelta a empezar system("cls"); //borrar la pantalla en windows }while(PalabraLen); return 0; }
int Palabra_completada(char *palabra) { int len=strlen(palabra); //guarda la longitud de la cadena int i; //contador for(i=0;i < len;i++) if(palabra[i] == '-') return 0; //la palabra no fue adivinada return 1; //adivino }
int LetraValida(char *letra) { char *caracter=ALFABETO; //Guarda la cadena con las letras del alfabeto int i=0; //Indise que cuenta los caracteres int LongitudCadena=strlen(caracter); //Guarda la longitud de la cadena apuntada porc aracter for(i=0;i < LongitudCadena;i++) if(*letra == caracter[i]) return 1; //letra valida *letra=0; return 0; //letra invalida }
|
|
|
En línea
|
Dadme 10 hackers y dominaré el mundo en 24 horas... "Malditos niños, todos son iguales"
|
|
|
Don Pollo
Desconectado
Mensajes: 74
/* No comments */
|
"Indise", "remplaso", "aserto", "compruevo", "abesedario", "arina", etc etc. Si quieres poner tu código a disposición de los demás, intenta por lo menos tener una buena ortografía. Por cierto, tu ahorcado está bastante limitado ya que sólo puedes jugar con esas 38 palabras, podrías haberlo hecho para que reconociese cualquier palabra y así hacer el juego más divertido. Aquí te dejo el código de mi ahorcado que hice en una práctica que me mandaron cuando empecé a programar y que sí reconoce cualquier palabra: #include <stdio.h> #include <string.h> #define MAX 50 void menu () { printf("1.- Introducir palabra.\n"); printf("2.- Comenzar el juego.\n"); printf("3.- Finalizar el juego.\n"); printf("Indique la opcion que desea ejecutar: "); } int main (){ int opcion,i,cont,tam,cont2,cont3,afirmativo,afirmativo2; char cadE[MAX],cadS[MAX],letra; do{ do{ menu(); }while((opcion<1)||(opcion>3)); switch(opcion) { case 1: printf("\nIntroduzca la palabra con la que desea comenzar el juego: "); afirmativo=1; break; case 2: if (afirmativo!=1){ printf("\nEJECUTE PRIMERO EL PASO 1.\n\n"); }else{ for(i=0;i<strlen(cadE);i++){ cadS[i]='-'; } cont=0; cont2=0; do{ afirmativo2=0; printf("Introduzca una letra: "); for(i=0;i<tam;i++){ if(cadE[i]==letra){ cadS[i]=letra; cont2=cont2+1; afirmativo2=1; cadE[i]='/'; } } if(afirmativo2==0){ cont=cont+1; cont3=6-cont; printf("\nLETRA INCORRECTA!! LE QUEDAN %d INTENTOS\n\n",cont3 ); ; }else{ printf("\nLETRA CORRECTA!!\n\n"); } }while((cont<6)&&(cont2<tam)); if(cont==6){ printf("\n\nGAME OVER. INSERT COIN\n\n"); }else{ } break; } } }while(opcion!=3); return 0; }
|
|
« Última modificación: 16 Junio 2011, 15:14 pm por Don Pollo »
|
En línea
|
|
|
|
|
Acermax
Desconectado
Mensajes: 55
|
Puedo entender que es lo que no debe hacer el del primer post, pero el segundo post? O ando muy perdido o no me ifjo muy bien en que hace que no debería hacer.
Un saludo.
|
|
|
En línea
|
|
|
|
[JudasTeam]-BUG
Desconectado
Mensajes: 2
¿ Quieres Jugar ?
|
xD ni que lo hubiera programado con,ganas lo hice en 2 horas,ya sse q tiiene errores..
|
|
|
En línea
|
Dadme 10 hackers y dominaré el mundo en 24 horas... "Malditos niños, todos son iguales"
|
|
|
Don Pollo
Desconectado
Mensajes: 74
/* No comments */
|
No me he podido parar a leer detenidamente el post que has comentado, Khronos14, así que, qué se supone que hice que no debería haber hecho? Quizá un uso excesivo de fflush?
|
|
|
En línea
|
|
|
|
Khronos14
Desconectado
Mensajes: 443
A lie is a lie
|
No me he podido parar a leer detenidamente el post que has comentado, Khronos14, así que, qué se supone que hice que no debería haber hecho? Quizá un uso excesivo de fflush?
A parte de eso, no es recomendable usar scanf. Si no lo usaras, no tendrías que hacer un fflush. El código es bastante desordenado, la función main no hay por donde cogerla, te pierdes mucho. Para las condiciones y los bucles, si son de una sola línea no hace falta poner llaves. Saludos.
|
|
|
En línea
|
|
|
|
Don Pollo
Desconectado
Mensajes: 74
/* No comments */
|
A parte de eso, no es recomendable usar scanf. Si no lo usaras, no tendrías que hacer un fflush. El código es bastante desordenado, la función main no hay por donde cogerla, te pierdes mucho.
Para las condiciones y los bucles, si son de una sola línea no hace falta poner llaves.
Saludos.
Ese codigo lo hice en el primer curso de carrera cuando estaba empezando, y a esas alturas es normal hacer ese tipo de cosas, o no? De todas formas, debería haber puesto comentarios para el que vea el código sepa por donde va la cosa.
|
|
« Última modificación: 18 Junio 2011, 01:55 am por Don Pollo »
|
En línea
|
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
. Cada cosa a su tiempo, primero que se aprenda el lenguaje y lo demás como lo que no hay que hacer, estructura, ordenamiento serán ya los últimos, después con TODO lo anterior aprendido se pueden entrar en proyectos, así es como se aprende Prueba-Error ( pequeños programas como este ).
Dulces Lunas!¡.
|
|
|
En línea
|
The Dark Shadow is my passion.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
C# el ahorcado
.NET (C#, VB.NET, ASP)
|
Err...
|
7
|
15,819
|
10 Enero 2011, 15:24 pm
por Khronos14
|
|
|
Juego del ahorcado C#
.NET (C#, VB.NET, ASP)
|
treblatp
|
3
|
12,900
|
3 Febrero 2011, 20:18 pm
por Khronos14
|
|
|
Ayuda, programa en C .. El ahorcado....
Programación C/C++
|
TopoJunior
|
4
|
4,872
|
15 Febrero 2013, 23:34 pm
por X3R4CK3R
|
|
|
ayuda con ahorcado
Programación C/C++
|
amy26
|
2
|
2,101
|
16 Marzo 2013, 21:58 pm
por Puntoinfinito
|
|
|
AYUDA ahorcado en c
Programación C/C++
|
KIDRAP1
|
3
|
2,849
|
2 Julio 2013, 20:38 pm
por pacoperico
|
|