Tratando de practicar un poco hice un juego que consiste en adivinar una palabra, la cual la puede definir un "contrincante" en un block de notas, y llegué a esto:
Código
#include <fstream> #include <iostream> using namespace std; int main() { ifstream fin("palabra.txt"); string PalOfFin; string AdivPal; fin >> PalOfFin; int f=0; int NumTur; cout<<"\n\n\t\tADIVINA LA PALABRA\n\n\t¿Con cuantos turnos quieres jugar?: ";cin>>NumTur; cout<<"\n\tTienes "<<NumTur<<" turnos."; do { f++; cout<<"\n\n\tTurno "<<f<<": "; cin>>AdivPal; if(AdivPal != PalOfFin) cout<<"\tmal.\n"; } while ((AdivPal!= PalOfFin) && (f<NumTur)); { if(AdivPal == PalOfFin) cout<<"\n\n\tHAS GANADO!\n\n\n\n\n"; else cout<<"\n\n\tPERDISTE! se te agotaron los turnos.\n\n\tLa palabra era: [ "<<PalOfFin<<" ]\n\n\n\n\n"; } cin.get();cin.get(); return 0; }
El código corre de maravilla! Aunque en realidad, en un principio quería hacer algo así como un ahorcado, pero se me dificulto y sin darme cuenta terminé en esto xD
Mi pregunta es: ¿Cómo podría simplificar el código?
¿Cómo lo harían ustedes?
Ahora bien, no me quedaré con las ganas de hacer un ahorcado.
Ya que la palabra a encontrar estaría predefinida por un "contrincante" de la misma forma que el programa de las palabras, ¿Cómo haría para leer una cadena... letra por letra? (Para saber si la letra dada por el jugador se encuentra en la palabra o no, ademas debería tener en cuenta que una misma letra podría estar repetida)
Esto me está quedando pesando!! Aunque es muy entretenido
(Trataré de ir exponiendo el código del Ahorcado )
¿Alguna idea?
Gracias, saludos!