elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Avance del juego ahorcado (C++)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Avance del juego ahorcado (C++)  (Leído 7,203 veces)
Danyel_Casvill

Desconectado Desconectado

Mensajes: 113


adada


Ver Perfil
Avance del juego ahorcado (C++)
« en: 26 Abril 2013, 02:49 am »

MODIFICADO

Aquí va el avance del ahorcado:

Código
  1. #include <iostream>
  2. #include <fstream>
  3. #include <cstring>
  4.  
  5. using namespace std;
  6.  
  7.  
  8. int main()
  9. {
  10.  
  11.    ifstream archivo("ahorcado.txt"); //SE ABRE EL ARCHIVO QUE CONTIENE LA PALABRA A ADIVINAR
  12.  
  13.   /*  VARIABLES  */
  14.  
  15.     char palabra[10];    //VARIABLE QUE CONTENDRÁ LA
  16.     archivo >>  palabra; //PALABRA A ADIVINAR
  17.  
  18.     char letra; //LETRA QUE INGRESA EL USUARIO
  19.  
  20.     char *busqueda; //PARA EL ESCANEO DE LA LETRA EN LA PALABRA
  21.  
  22.     int NumTur,f=0;
  23.  
  24.     char letras[NumTur];
  25.  
  26.  
  27.   /*  VARIABLES  */
  28.  
  29.  
  30.  
  31.  cout<<palabra;
  32.  
  33.  cout<<"\n\n\t\t\tAHORCADO\n\n\t";
  34.  cout<<"La palabra contiene "<<strlen(palabra)<<" letras."; //BUSCA CUANTOS ELEMENTOS TIENE LA PALABRA
  35.  cout<<"\n\tCon cuantos turnos quieres jugar?: ";
  36.  cin>>NumTur;
  37.  
  38.  
  39.  
  40.  do
  41.    {
  42.      f++;
  43.      cout<<"\n\n\n\t[[Tienes "<<(NumTur+1)-f<<" turnos]]\n\n\t";
  44.      cout<<"ingrese una letra: ";
  45.      cin>>letra;
  46.       letras[f]=letra;
  47.  
  48.  
  49.  
  50.      busqueda= strchr(palabra,letra); // BUSCA SI LA LETRA INGRESADA POR EL
  51.                                       // USUARIO SE ENCUENTRA EN LA PALABRA A ADIVINAR
  52.  
  53.      if (busqueda)  //SI LA LETRA SE haya EN LA PALABRA
  54.        {
  55.  
  56.           cout<<"\n\t[ "<<letra<<" ] se encuentra en la palabra.\n";
  57.  
  58.        }
  59.  
  60.      else cout<<"\n\t[ "<<letra<<" ] no se encuentra en la palabra.\n\t";
  61.  
  62.  
  63.      cout<<"\n\n\tHas tecleado: ";
  64.      for (int l=1;l<=f;l++)
  65.             {
  66.               cout<<letras[l];
  67.             }
  68.  
  69.    }
  70.  
  71.  
  72.   while (f<NumTur);
  73.  
  74.  
  75.   cout<<"\n\tSe te acabaron los turnos!\n\t";
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  cin.get();cin.get();
  82.  return 0;
  83. }
  84.  
  85.  

Aún no hace gran cosa que digamos ... :xD

Ahora estoy pensando en guardar las letras ingresadas en un arreglo. (Listo)
Separar las letras acertadas, de las no acertadas. (En proceso)

Me hace falta demasiado :c
Pero bueno, que sirva de algo para los que también estén intentando hacerlo.

Saludos  ;D

PD: Tema procedente de ---> http://foro.elhacker.net/programacion_cc/juego_de_palabras_c_sencillo-t388690.0.html


« Última modificación: 26 Abril 2013, 04:34 am por Danyel_Casvill » En línea

adada
flony


Desconectado Desconectado

Mensajes: 584



Ver Perfil
Re: Avance del juego ahorcado (C++)
« Respuesta #1 en: 26 Abril 2013, 05:50 am »

estaba leyendo...solo busca la primer letra
Citar
Devuelve un puntero a la primera ocurrencia del carácter en la cadena str C.
que pasa si la palabra es como mama que tiene dos m y dos a ?...para eso sirve el for ?


En línea

si un problema no tiene solucion entonces no es un problema...es algo inevitable
Wofo

Desconectado Desconectado

Mensajes: 168


Ver Perfil
Re: Avance del juego ahorcado (C++)
« Respuesta #2 en: 26 Abril 2013, 10:20 am »

¿Por qué no usas la librería "string"? Te facilitaría las cosas y te permitiría tener palabras de distinta longitud.
En línea

Danyel_Casvill

Desconectado Desconectado

Mensajes: 113


adada


Ver Perfil
Re: Avance del juego ahorcado (C++)
« Respuesta #3 en: 26 Abril 2013, 13:33 pm »

estaba leyendo...solo busca la primer letra que pasa si la palabra es como mama que tiene dos m y dos a ?...para eso sirve el for ?

Tienes razón en ello, la función strchr sólo busca la primera letra de izquierda a derecha. Ejemplo "Mama" Sólo encontraría Mama y pararía de buscar.
Hay otra función que busca de derecha a izquierda. Ejemplo: Mama pero si la palabra repitiera 3 o mas veces una letra tampoco serviría.
Aún no sé como hacer para que busque la letra en toda la cadena mas de una vez, independiente de si ya encontró la letra una vez. Mama.

El ciclo for sólo sirve para recordarte las letras que has tecleado, nada mas.

¿Por qué no usas la librería "string"? Te facilitaría las cosas y te permitiría tener palabras de distinta longitud.

No sabría donde aplicarla, intenté sustituir las variables tipo char por string pero me daba error. :(

Alguna idea de cómo hacerlo?


Gracias porresponder, saludos!  ;D
« Última modificación: 26 Abril 2013, 13:40 pm por Danyel_Casvill » En línea

adada
amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: Avance del juego ahorcado (C++)
« Respuesta #4 en: 26 Abril 2013, 13:42 pm »

¿Por qué no usas la librería "string"? Te facilitaría las cosas y te permitiría tener palabras de distinta longitud.
Resalto lo que dice el compañero.

La clase string forma parte de las estándares del lenguaje y sería adecuado que la usaras (más cómodas, más funcionales).

Código
  1. #include <string>
  2.  
  3. //...
  4.  
  5. string Mensaje;
  6.  
  7. Mensaje = "Cosita linda y hermosa"; //Se puede usar '=' en cualquier momento
  8.  
  9. cout<<Mensaje<<endl;
  10.  
  11. Mensaje = "Tonterias"; // El tamanyo se ajusta automaticamente al contenido
  12.  
  13. cout<<Mensaje<<endl;
  14.  
  15. string Auxiliar = Mensaje + "y ademas muy fea"; // El operador suma esta definido
  16.  
  17. cout<<Auxiliar<<endl;
  18.  
  19. cout<<"Su tamanyo es: "<<Auxiliar.size();
  20.  
  21. if (Mensaje == Auxiliar) // Definido el operador ==
  22.   cout<<"Los mensajes son iguales";
  23. else
  24.   cout<<"No son iguales";
  25.  
  26.  
  27. cout<<"la primera letra es: "<<Auxiliar[0]; // Definidos los operadores []
  28.  
  29. cout<<"Busquemos la palabra Cosa:";
  30.  
  31. int Posicion = Auxiliar.find("Cosa"); // Busqueda

http://www.cplusplus.com/reference/string/string/
En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
flony


Desconectado Desconectado

Mensajes: 584



Ver Perfil
Re: Avance del juego ahorcado (C++)
« Respuesta #5 en: 26 Abril 2013, 20:30 pm »

estaba pensando en leer esa clase  ;)
En línea

si un problema no tiene solucion entonces no es un problema...es algo inevitable
gorystyle

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: Avance del juego ahorcado (C++)
« Respuesta #6 en: 26 Abril 2013, 21:21 pm »

jeje desde q vi este post me puse a programar un ahorcado yo tb y lo q mas me costo fue conseguir una manera de ir mostrando las letras adivinadas de la palabra cuando el usuario las decia jeje resulto ser muy facil aqui mi codigo.. se podria mejorar en cuanto a detalles pero creo que en lo que al ahorcado se refiere pues hace lo que se quiere

Código
  1. #include <iostream>
  2. #include <fstream>
  3. #include <stdio.h>
  4. #include <string>
  5.  
  6. using namespace std;
  7.  
  8. int main()
  9. {
  10. //----Sacar la palabra del archivo.
  11. ifstream archivo("palabra.txt");
  12. string palabra;
  13. string aux;
  14. archivo >> palabra;
  15. aux = palabra;
  16.  
  17. char letra;
  18. int turnos = 5;
  19. int encuentro = 0;
  20.  
  21. for(int i=0; i<palabra.size(); i++)
  22. aux[i] = '_';
  23. //Bucle para controlar la busqueda de letras.
  24. cout << "\n\t*****AHORCADO*****" << endl;
  25. cout << "Tiene " << turnos << " para adivinar la palabra." << endl << endl;
  26.  
  27. do{
  28. encuentro = 0;
  29. cout << "\t\n\nDiga una letra: ";
  30. cin >> letra;
  31. for(int i=0; i<palabra.size(); i++)
  32. {
  33. if(palabra[i] == letra)
  34. {
  35. aux[i] = letra;
  36. encuentro++;
  37. }
  38. }
  39. if(encuentro == 0)//No encontro almenos 1 vez la letra
  40. {
  41. turnos--;
  42. cout << "\n\tFallaste!!!  turnos: "  << turnos << endl << endl;
  43. }
  44. for(int i=0; i<aux.size(); i++)
  45. cout << aux[i] << " ";
  46.  
  47. if(aux == palabra)
  48. {
  49. cout << "\n\n\t***CORRECTO GANO!!!!***" << endl << endl;
  50. break;
  51. }
  52. }while(turnos > 0);
  53.  
  54. archivo.close();
  55. return 0;
  56. }
  57.  
« Última modificación: 26 Abril 2013, 21:40 pm por gorystyle » En línea

flony


Desconectado Desconectado

Mensajes: 584



Ver Perfil
Re: Avance del juego ahorcado (C++)
« Respuesta #7 en: 26 Abril 2013, 21:39 pm »

jajaja estaba investigando para hacer el code....pucha llegue tarde,  bueno me pongo a leer tu code haber si era mas o menos lo que pensaba hacer
En línea

si un problema no tiene solucion entonces no es un problema...es algo inevitable
gorystyle

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: Avance del juego ahorcado (C++)
« Respuesta #8 en: 26 Abril 2013, 21:41 pm »

jajaja estaba investigando para hacer el code....pucha llegue tarde,  bueno me pongo a leer tu code haber si era mas o menos lo que pensaba hacer

jaja si dale.. eso es lo que se busca que cada vez se valla mejorando mas el código y entre todos saquemos un buen ahorcado quien quita que logremos hasta ir pintando el muñeco ahorcandoce cuando el usuario falla se veria muy bien
En línea

flony


Desconectado Desconectado

Mensajes: 584



Ver Perfil
Re: Avance del juego ahorcado (C++)
« Respuesta #9 en: 26 Abril 2013, 23:07 pm »

disculpen ...me tente lo vi en el face
http://subefotos.com/ver/?90f8003f62f575ae960d734b569a777ao.jpg
En línea

si un problema no tiene solucion entonces no es un problema...es algo inevitable
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
novato en C# juego del ahorcado
.NET (C#, VB.NET, ASP)
NeoXero 2 13,038 Último mensaje 30 Mayo 2007, 15:19 pm
por »~^~«CkNU!»~^~«
Juego del ahorcado C#
.NET (C#, VB.NET, ASP)
treblatp 3 12,967 Último mensaje 3 Febrero 2011, 20:18 pm
por Khronos14
copiar avance de juego flash online en firefox
Foro Libre
arnaldo4511 2 2,517 Último mensaje 18 Febrero 2012, 05:25 am
por dimitrix
Juego del Ahorcado
ASM
ziony 1 5,348 Último mensaje 27 Abril 2012, 21:52 pm
por Eternal Idol
Avance del juego ahorcado (C++)
Programación C/C++
Danyel_Casvill 0 1,884 Último mensaje 26 Abril 2013, 02:48 am
por Danyel_Casvill
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines