/*AHORCADO
Programacion a bajo nivel
Grupo 2/*AHORCADO
Programacion a bajo nivel
Grupo 2
Presentado por: Andres Felipe Cortez Ortiz y Karen Otero Martinez*/
#include <iostream> /*librería entrada y salida*/
#include <ctype.h> /*librería utilizada para tolower*/
#include <stdlib.h> /*librería utilizada para system*/
#include <stdio.h> /*librería utilizada para gets*/
using namespace std;
char palabra[1000]; /*declarar la cantidad de caracteres del arreglo palabra,se
declara como char para poder utilizar la función gets*/
string palabraorg; /*declarar palabraorg como una secuencia de caracteres.
palabraorg=palabra que se debe adivinar*/
string palabraenp; /*declarar palabraenp como una secuencia de carcateres.
palabraenp=palabra que se muestra en pantalla durante el juego*/
int vidas; /*declarar la variable vidas como entero*/
int cont=0; /*declarar como entero contador el cual llevará la cuenta de
las vidas perdidas*/
char x; /*declarar como char x, variable donde se guarda cada letra
ingresada durante el juego*/
void pantalla (){ /*función que muestra las letras adivinadas y las vidas que le
quedan al jugador*/
cout<<"\n\t Te quedan: " <<vidas <<" vidas." <<endl; */mostrar la vidas que le
quedan al jugador*/
cout<<"\n\t" <<palabraenp <<endl; /*va mostrando las letras que el jugador
va adivinando*/
}
void inicializar(){ /*función para evaluar la propiedades de la palabra introducida*/
vidas=6; /*El total de vidas que tiene el jugador para adivinar la
palabra*/
palabraorg=palabra; /*pasar a la variable palabraorg la palabra que se debe
adivinar*/
for(int i=0; i<[Link](); i++){ /* ciclo que hace un recorrido por toda
la palabra(se utiliza “length()” para que así se recorra la longitud de la palabra*/
if (palabraorg[i]>='a' && palabraorg[i]<='z'){ /*condición para que se lean sólo letras
dentro de la palabra a adivinar*/
palabraorg[i]=tolower(palabraorg[i]); /*convierte todas las letras de la
palabra original en minusculas */
}
palabraenp+='_'; /*concatenar un “_” a cada letra de la
palabra mostrada en pantalla (letras que debe adivinar el jugador)*/
}else{
palabraenp+=palabraorg[i]; /*concatena cualquier número o
símbolo introducido en la palabra que se va a adivinar, como bonus para el jugador, pues
solo debe adivinar letras*/
}
}
}
void adivinar(char x){ /* función en la cual se condiciona cada letra que ingresa el
usuario, mientras intenta adivinar la palabra*/
bool menosvidas=true; */mientras bool sea true, el juego continúa*/
x=tolower(x); /* convierte las letras ingresadas en minúsculas*/
for(int i=0; i<[Link](); i++){ /*ciclo que recorre la palabra ingresada*/
if(x==palabraorg[i]){ /*si la letra ingresada en una letra del la palabra
orginal*/
menosvidas=false; /*menos vidas es false, por lo tanto el jugador
no pierde vidas*/
palabraenp[i]=x; /*en pantalla se muestra la letra ingresada en la
posicion que se encuentra en la palabra original*/
}
}
if (menosvidas==false){ /* condición para informarle al usuario que
adivino una letra*/
cout<<"\n\t ACERTASTE!!"<<endl; */mensaje que le dice al usuario que
acertó en una letra*/
}
if(menosvidas==true){ /* condición que avisa al usuario que no acertó */
cout<<endl<<"\n\t sigue intentado"<<endl;
vidas--; /* disminuye una vida cada vez que el usuario no acierta*/
cont=cont+1; /* el contador aumenta en uno cada vez que el usuario
no acierta una letra*/
}
}
int main (){
system ("color F0");
cout<<"__________________________BIENVENIDO AL
JUEGO!!________________________" <<endl; */le da al usuario la bienvenida al juego*/
cout<<"\n\t Ingrese la palabra que se debe adivinar: "; */le pide al usuario la
palabra a adivinar*/
gets(palabra); /*lee una cadena de caracteres, la utilizamos para que lea el
caracter espacio*/
system("pause"); /* pausa la pantalla hasta que el usuario desee continuar*/
system("cls"); /*limpia la pantalla en tiempo real*/
cout<<"\n\t\t " <<char(219) <<char(223) <<char(223) <<char(223) <<char(223)
<<char(219);
cout<<"\n\t\t " <<char(219); */muestra la estructura del ahorcado*/
cout<<"\n\t\t " <<char(219);
cout<<"\n\t\t " <<char(219);
cout<<"\n\t\t " <<char(219);
cout<<"\n\t\t " <<char(219);
cout<<"\n\t\t " <<char(219);
cout<<"\n\t\t" <<char(220) <<char(219) <<char(220) <<char(220) <<char(220)
<<char(220) <<char(220) <<endl;
inicializar(); */llama a la función inicializar*/
while(vidas>0 && palabraenp!= palabraorg){ /*solo se realiza mientras el
usuario no haya adivinado la palabra*/
pantalla() ;/*llama la función pantalla*/
cout<<"\n\t Ingrese una letra: "; */pide al usuario ingresar una letra*/
cin>>x; /*lee la letra que introduzca el usuario*/
adivinar(x); /*llama la función adivinar*/
system("pause"); /* pausa la pantalla hasta que el usuario desee
continuar*/
system("cls"); /*limpia la pantalla en tiempo real*/
if(cont==0){ /*Si contador es igual a 0, el jugador no ha ingresado
una letra incorrecta*/
cout<<"\n\t\t " <<char(219) <<char(223) <<char(223)
<<char(223) <<char(223) <<char(219);
cout<<"\n\t\t " <<char(219); */Se sigue
mostrando solo la estructura del ahorcado*/
cout<<"\n\t\t " <<char(219);
cout<<"\n\t\t " <<char(219);
cout<<"\n\t\t " <<char(219);
cout<<"\n\t\t " <<char(219);
cout<<"\n\t\t " <<char(219);
cout<<"\n\t\t" <<char(220) <<char(219) <<char(220)
<<char(220) <<char(220) <<char(220) <<char(220) <<endl;
}if(cont==1){ /*si contador es igual a 1, el jugador se ha
equivocado en una letra, por lo tanto, se aumentará una parte al muñeco*/
cout<<"\n\t\t " <<char(219) <<char(223) <<char(223) <<char(223)
<<char(223) <<char(219);
cout<<"\n\t\t " <<char(219) <<" " <<"o"; */Se
dibuja la cabeza del muñeco*/
cout<<"\n\t\t " <<char(219);
cout<<"\n\t\t " <<char(219);
cout<<"\n\t\t " <<char(219);
cout<<"\n\t\t " <<char(219);
cout<<"\n\t\t " <<char(219);
cout<<"\n\t\t" <<char(220) <<char(219) <<char(220)
<<char(220) <<char(220) <<char(220) <<char(220) <<endl;
}if(cont==2){ /*si el contador es igual a 2 el usuario se ha
equivocado dos veces por lo tanto,se aumentará una parte al muñeco*/
cout<<"\n\t\t " <<char(219) <<char(223) <<char(223)
<<char(223) <<char(223) <<char(219);
cout<<"\n\t\t " <<char(219) <<" " <<"o";
cout<<"\n\t\t " <<char(219) <<" " <<char(186); */se dibuja
el cuerpo del muñeco*/
cout<<"\n\t\t " <<char(219) <<" " <<char(186);
cout<<"\n\t\t " <<char(219);
cout<<"\n\t\t " <<char(219);
cout<<"\n\t\t " <<char(219);
cout<<"\n\t\t" <<char(220) <<char(219) <<char(220)
<<char(220) <<char(220) <<char(220) <<char(220) <<endl;
}if(cont==3){ /*si contador es igual a 3, el jugador se ha equivocado
en tres letras, por lo tanto, se aumentará una parte al muñeco*/
cout<<"\n\t\t " <<char(219) <<char(223) <<char(223)
<<char(223) <<char(223) <<char(219);
cout<<"\n\t\t " <<char(219) <<" " <<"o";
cout<<"\n\t\t " <<char(219) <<" /" <<char(186); */se dibuja
un brazo del muñeco*/
cout<<"\n\t\t " <<char(219) <<" " <<char(186);
cout<<"\n\t\t " <<char(219);
cout<<"\n\t\t " <<char(219);
cout<<"\n\t\t " <<char(219);
cout<<"\n\t\t" <<char(220) <<char(219) <<char(220)
<<char(220) <<char(220) <<char(220) <<char(220) <<endl;
}if(cont==4){si contador es igual a 4, el jugador se ha equivocado en
4 letras, por lo tanto, se aumentará una parte al muñeco*/
cout<<"\n\t\t " <<char(219) <<char(223) <<char(223)
<<char(223) <<char(223) <<char(219);
cout<<"\n\t\t " <<char(219) <<" " <<"o";
cout<<"\n\t\t " <<char(219) <<" /" <<char(186)<<"\\ "; /*se
dibuja el otro brazo del muñeco*/
cout<<"\n\t\t " <<char(219) <<" " <<char(186);
cout<<"\n\t\t " <<char(219);
cout<<"\n\t\t " <<char(219);
cout<<"\n\t\t " <<char(219);
cout<<"\n\t\t" <<char(220) <<char(219) <<char(220)
<<char(220) <<char(220) <<char(220) <<char(220) <<endl;
}if(cont==5){ /*si contador es igual a 5, el jugador se ha equivocado
en cinco letras, por lo tanto, se aumentará una parte al muñeco*/
cout<<"\n\t\t " <<char(219) <<char(223) <<char(223)
<<char(223) <<char(223) <<char(219);
cout<<"\n\t\t " <<char(219) <<" " <<"o";
cout<<"\n\t\t " <<char(219) <<" /" <<char(186) <<"\\ ";
cout<<"\n\t\t " <<char(219) <<" " <<char(186);
cout<<"\n\t\t " <<char(219) <<" " <<" /" ; */se dibuja
una pierna del muñeco*/
cout<<"\n\t\t " <<char(219);
cout<<"\n\t\t " <<char(219);
cout<<"\n\t\t" <<char(220) <<char(219) <<char(220)
<<char(220) <<char(220) <<char(220) <<char(220) <<endl;
}if(cont==6){ /*si contador es igual a 6, el jugador se ha equivocado
en seis letras, por lo tanto, se aumentará una parte al muñeco*/
cout<<"\n\t\t " <<char(219) <<char(223) <<char(223)
<<char(223) <<char(223) <<char(219);
cout<<"\n\t\t " <<char(219) <<" " <<"o";
cout<<"\n\t\t " <<char(219) <<" /"<<char(186) <<"\\ ";
cout<<"\n\t\t " <<char(219) <<" " <<char(186);
cout<<"\n\t\t " <<char(219) <<" " <<" /" <<" \\ "; */se dibuja
la otra pierna del muñeco*/
cout<<"\n\t\t " <<char(219);
cout<<"\n\t\t " <<char(219);
cout<<"\n\t\t" <<char(220) <<char(219) <<char(220)
<<char(220) <<char(220) <<char(220) <<char(220) <<endl;
}
}
if(vidas>0){ /*se cumple si el usuario ha adivinado la palabra*/
cout<<endl <<"\n\t\t GANASTE!! Eres el proximo vidente UAM" <<endl;
*/mensaje ganador*/
cout<<endl<<"\n\t\t La palabra/frase correcta era: " <<palabraorg; /*muestra
la palabra introducida al inicio del juego*/
} else{/* se cumple si el usuario ha perdido el juego*/
cout<<endl <<"\n\t\t PERDISTE!! Adivinar no es lo tuyo, mejor sigue
programando" <<endl; /*mensaje perdedor*/
cout<<"\n\t\t La palabra/frase correcta era: " <<palabraorg; /*muestra la
palabra que el jugador tenía que adivinar*/
}
}