Dev - C++ - tecnologo

   
Vista:

tecnologo

Publicado por luis eduardo (1 intervención) el 16/11/2007 16:15:50
saludos a todos mis colegas le pido el favor la codificacion en c++ del programa de juego el ahorcado....gracias
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

vago

Publicado por aamaritoo (2 intervenciones) el 16/11/2007 17:01:59
este es el codigo sacado de un libro de programacion de video juegos, esta en ingles


/**************************************************************************************************

HANGMAN GAME

**************************************************************************************************/

#include<iostream> // preprosesador incluyendo libreria standar(encabezados)
#include<string> // libreria de cadena de caracteres. si quito esto tambien funciona
#include<vector> // archivo que contiene la definicion de vactores
#include<algorithm> // archivos que contienen las definiciones de los algoritmos de
#include<ctime>
#include<ctype> // -----> este archivo no lo identifica el compilador y el programa corre

using namespace std; // uso general de la biblioteca standar.

int main() // funcion de inicio obligatoria
{ // abre cuerpo de funcion.

const int MAX_WRONG = 8; // entero constante

vector<string> words; // vector tipo string llamado words
words.push_back("GUESS");
words.push_back("HANGMAN"); // llenando vector con 3 palabras
words.push_back("DIFFICULY");

srand(time(0));
random_shuffle(words.begin(),words.end()); // desordena vector con algoritmo random_suffle()


const string THE_WORD = words[0]; // toma la primera palabra y la almacena en
int wrong = 0; // malas adivinadas
string sofar(THE_WORD.size(),'-'); // inicializa otro string de tamaño de la palabra
// lleno de puros'-'.
string used =""; // otra string pero vaica para levar la cuenta de las letras usadas

cout<<"WELCOME TO HANGMAN. GOOD LUCK\n";

while((wrong<MAX_WRONG)&&(sofar!=THE_WORD))
{
cout<<"\n\nyou have "<<(MAX_WRONG-wrong)<<" incorrect guesses left.\n";
cout<<"\nyou used the following letters. \n"<<used<<endl;
cout<<"\nso far the word is \n"<<sofar<<endl;

char guess;
cout<<"\n\nenter your guess: ";
cin>>guess;
guess=toupper(guess); // la combierte en mayuscula
while(used.find(guess)!=string::npos) // si ya fue usada los dos valores son iguales
{
cout<<"\nyou already guess "<<guess<<endl;
cout<<"enter your guess : ";
cin>>guess;
guess=toupper(guess); // la combierte en mayuscula
}
used += guess; //suma guess a used para llevar control de las letras ya utilizadas

if(THE_WORD.find(guess)!=string::npos) // mira si guess esta en the word
{
cout<<"taht's right "<<guess<<" is in the word.\n";

for(int i=0;i<THE_WORD.length();++i) // lenght() o size() son indiferentes
if(THE_WORD[i]==guess)
sofar[i]=guess; //cambia - de la posicion de sofar por guess
}
else
{
cout<<"sorry "<<guess<<" isn't in the word.\n";
++wrong;
}

}

if(wrong==MAX_WRONG)
cout<<"\nyouhave been hanged!";
else
cout<<"\nyou guess it.";

cout<<"\nthe word was "<<THE_WORD<<endl;


system("pause"); // para congelar pantalla
return 0; // devuelve el valor iny a main para terminar satisfactoriamente el programa

} // terminacion de cuerpo de funcion.
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