dilluns, 26 de maig del 2008

ACTIVITATS (PENJAT)

5. Implementa les funcions i accions següents per poder fer una partida al joc del penjat correctament:

char *adivina(void);
int getLlargada(char v[]);
char demanarLletra();
bool hiEs(char lletra, char paraula[], int &errors, int &nlletresEncertades, int posicions[]);
void modificarLletresEncertades(char lletresEncertades[], char lletra, int posicions[]);
void modificarLletresNoEncertades(char lletresEncertades[], char lletra);
void inicialitzaLletresEncertades(char lletresNoEncertades[], int nlletresParaula); //Omple l'array tot de guions baixos (_)
bool esLletraRepetida(char lletra, char lletresNoEncertades[], char lletresEncertades[]);

int main(int argc, char *argv[])
{
char paraula[100];
char lletresEncertades[100];
char lletresNoEncertades[100];
int posicions[10];

int nlletresParaula;
int nlletresEncertades;
int intents;
int errors;
char lletra;
int i;
bool hiEsta;
int posicio;


cout<<"Introdueix la paraula a adivinar: ";
gets(paraula);
system("cls"); //per borrar la pantalla

nlletresParaula=getLlargada(paraula);

inicialitzaLletresEncertades(lletresEncertades, nlletresParaula); //Omple l'array tot de guions baixos (_)

nlletresEncertades=0;
intents=10;
errors=0;

while (nlletresEncertades
{
lletra=demanarLletra();
if (esLletraRepetida(lletra, lletresNoEncertades, lletresEncertades))
{
cout<<"Aquest llatra ja l'havies incerit abans"
}
else
{
hiEsta=hiEs(lletra, paraula, errors, nlletresEncertades, posicions);
if(hiEsta==true)
{
//cout<<"Lletra correcta! :)";
modificarLletresEncertades(lletresEncertades, lletra, posicions);
}

else
{
//cout<<"Lletra incorrecta! :(";
modificarLletresNoEncertades(lletresNoEncertades, lletra);
}
}

cout<<"Paraula: "; //Mostra la paraula. Fes-ho tu.
cout<<"Lletres: " //Mostra la paraula. Fes-ho tu.
cout<<"Et queden x intents: " //Mostra la paraula. Fes-ho tu.
}

if (nlletresEncertades==nlletresParaula) cout<<"Has guanyat! :)";
else
{
cout<<"Has perdut! :(";
cout<<"La paraula era: "; //Fes-ho tu.
}

system("PAUSE");
return 0;
}