Hola, gracias por tu ayuda hermano.
Hasta ahora tengo esto:
Código:
#include <iostream>
#include <fstream> // Librería para el manejo de archivos
#include <string>
using namespace std;
int main()
{
int NumeroLetras, Score = 0;
string Nombre;
cout << "Juego de El Ahorcado\n--------------------\n" << endl;
cout << "Escribe tu nombre: ";
cin >> Nombre;
cout << "N\243mero de letras de la palabra: ";
cin >> NumeroLetras;
/* Creamos el fichero con las palabras a adivinar
------------------------------------------------------------------------*/
fstream fichero;
cout << "\nCreando fichero con palabras..." << endl;
fichero.open("palabras.txt", ios::out);
fichero << "baloncesto\n";
fichero << "beisbol\n";
fichero << "futbol\n";
fichero << "golf\n";
fichero << "rugby\n";
fichero << "tenis\n";
fichero << "boxeo\n";
fichero << "sumo\n";
fichero << "judo\n";
fichero << "nascar\n";
fichero << "atletismo\n";
fichero << "caminata\n";
fichero << "ciclismo\n";
fichero << "esgrima\n";
fichero << "natacion\n";
fichero << "polo\n";
fichero << "clavados\n";
fichero << "remo\n";
fichero << "vela\n";
fichero << "ajedrez";
fichero.close();
cout << "Fichero creado exitosamente..." << endl;
/* Encontramos la palabra de x letras
------------------------------------------------------------------------*/
string Palabra;
bool Encontrada = true;
fichero.open("palabras.txt", ios::in);
while (Encontrada)
{
if (fichero.eof())
{
Encontrada = false;
cout << "No hay palabras de " << NumeroLetras << " letras en el juego..." << endl;
}
else
{
getline(fichero, Palabra);
if (Palabra.size() == NumeroLetras)
{
Encontrada = false;
cout << "Palabra de " << NumeroLetras << " letras encontrada..." << endl;
}
}
}
fichero.close();
/* Guardamos la configuración en otro fichero
------------------------------------------------------------------------*/
fstream configuracion;
cout << "\nGuardando configuraci\242n en otro fichero..." << endl;
configuracion.open("configuracion.txt", ios::out);
configuracion << Nombre << endl;
configuracion << Palabra << endl;
configuracion << Score;
configuracion.close();
cout << "Fichero creado exitosamente..." << endl;
return 0;
}
Te comento que el punto de este programa es reproducir el juego de El Ahorcado.
- Guardar la puntuación en un archivo para compararla con las futuras puntuaciones, o sea, debo programar algo que lleve las puntuaciones. El menor número de intentos.
- Si una segunda persona intenta jugar, y elige 4 letras, el programa no puede seleccionar la primera palabra que tenga 4 letras si ya se ha usado antes, debe seleccionar la siguiente que tenga 4 letras.
- Si una letra no se ha adivinado se colocará en su posición el carácter ‘_’.
- En otro fichero debo tener dibujado el muñeco y debo ir imprimiendo linea por linea cada vez que el jugador falle. Solo habrá 7 posibles fallos.
- El juego termina cuando el jugador ha adivinado todas las letras de la palabra (en cuyo caso, se mostrará un mensaje de felicitación) o cuando el jugador haya cometido 7 fallos (mostrando el mensaje de fin de juego).
Esto es lo que debo hacer, muy fuerte para ser mi primera vez trabajando con ficheros en c++ pero, lo estoy intentando.
Trato de comprender cómo hacer lo siguiente:
- Cómo leer la segunda línea de un fichero?. Ej, estoy creando "configuracion.txt", en donde la primera linea es el nombre del jugador, la segunda linea es la palabra a adivinar y la tercera es la puntuación. Cómo leo una linea en especifico si quiero ejemplo mostrar la puntuación solamente al comienzo del juego?.
- Cómo puedo saber si una palabra de x letras ya fue jugada antes, y cómo hago para que el programa seleccione la siguiente palabra en la lista?.
Muchas dudas, repito es mi primera vez con ficheros y no entiendo como comunicar mis pensamientos en codigo.
Espero puedan ayudarme.