Dudas "El Ahorcado" y "el gato" dev c++

Iniciado por haken88, 15 Julio 2012, 00:41 AM

0 Miembros y 2 Visitantes están viendo este tema.

haken88

Saludos comunidad, soy nuevo en este foro. :D

Tengo unas dudas que espero que puedan ser respondidas.
Resulta que soy nuevo en esto y estaba viendo unos tutoriales en internet sobre
dev c++ y vi que se podía hacer el juego "ahorcado" o el "colgado" y el "gato"

Mis preguntas son las siguiente:

Para que utiliza cada ciclo repetitivo, cada declaración de variables, cada función, cada if y cada switch?

Seria lo ideal que sean respuestas básicas relacionadas obviamente a los dos juegos dichos anteriormente, para así poder entenderlo con facilidad.

Gracias por adelantado.

DickGumshoe

¡Hola!

Si me pasas el código que has encontrado por Internet te puedo ayudar... Es que no puedo saber el planteamiento del algoritmo sin que proporciones el código...

Saludos!

haken88

Disculpa la tardanza aquí esta el código :


#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
   cout << "#####################################"<< endl;
   cout << "#         Juego del Ahorcado        #"<< endl;
   cout << "#####################################"<< endl;
     
   cout << "Usuario escribe la palabra a adivinar:" << endl;
   char palabradusuario[20];
   cin >> palabradusuario;
   
   system ("CLS");

   char acertadas[20];
   strcpy (acertadas, palabradusuario);
   int largo = strlen (palabradusuario);
   for (char* ap = palabradusuario; *ap; ap++)
      cout << '_';
   cout << endl;
   int errores = 0, acierto;
   for (;;) {
       cout << "Escribe una letra que pienses que es parte de la palabra: ";
       char letra;
       cin >> letra;
       char* ap;
       int acierto = 0;
       for (ap = acertadas; *ap; ap++)
           if (*ap == letra) {
              *ap = '_';
              acierto = 1;
           }
       if (!acierto) {
          if (++errores >= 5) {
             cout << "LOSIENTO USTED PERDIÓ" << endl;
             break;
          } else
            cout << "Error!!! solo te quedan " << 5 - errores << " oportunidades" << endl;
       } else {
          acierto = 0;
          for (int i = 0; palabradusuario; i++)
             if (palabradusuario != acertadas)
                cout << palabradusuario;
             else {
                cout << '_';
                acierto = 1;
             }
          cout << endl;
          if (!acierto) {
             cout << "\tFELICIDADES USTED GANO!.\n";
             break;
          }
       }
   }

   system("PAUSE");
   return EXIT_SUCCESS; 
                 
}




Solo pille este.. que por el momento quiero entenderlo bien.

Saludos!

DickGumshoe

#3
Primero piden una palabra, y seguidamente se borra la pantalla con system("CLS");.

Después se concatena el contenido de "palabradusuario" en "acertadas", mediante la función strcpy() --->Error! Para usar esta función es necesario incluir la librería cstring.

Y con la función strlen() se averigua la longitud de "acertadas" --> Error! Para usar strlen() es necesario incluir la librería cstring.

Finalmente en el bucle se pretende más o menos que vaya ingresando una letra, si falla se suma uno al contador, y cuando dicho contador llega a 5 imprime un mensaje diciendo que ha perdido.

¡Ah! Y también hay un error aquí:

Código (cpp) [Seleccionar]
for (int i = 0; palabradusuario; i++)
if (palabradusuario != acertadas)
               cout << palabradusuario;


Sería poniendo un subíndice. Así:

Código (cpp) [Seleccionar]
for (int i = 0; i < largo; i++)
            if (palabradusuario[i] != acertadas[i])
               cout << palabradusuario[i];


Saludos!

haken88

#4
Gracias, ahora estoy entendiendo algo las coas, como no cuento con mucho tiempo ahora, veré el código mas tarde..! pero muchas gracias de todas formas.




EDIT: Como puedo poner este código en un Case?

Resulta que tengo en mente hacer lo siguiente:

Hacer un menú con las siguientes opciones:

Opción 1.- Jugar
Opción 2.- Sobre el Autor (osea seria información sobre mi, ya sea el nombre, edad, etc..)
Opción 3.- Salir.

A la hora de poner este codigo en un Case 1, me salta error en el Case 2 que seria "Sobre el Autor"..


Se agradece la ayuda