Jump to content

[C++] Jocul Spanzuratoarea


FnZ
 Share

Recommended Posts

____COD____


#include <iostream.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>

const int MAXLENGTH=80;
const int MAX_TRIES=5;
const int MAXROW=7;

int letterFill (char, char[], char[]);
void initUnknown (char[], char[]);

int main ()
{
	char unknown [MAXLENGTH];
	char letter;
	int num_of_wrong_guesses=0;
	char word[MAXLENGTH];
	char words[][MAXLENGTH] =
	{
		"india",
		"pakistan",
		"nepal",
		"malaysia",
		"philippines",
		"australia",
		"iran",
		"ethiopia",
		"oman",
		"indonesia"
	};

	//alege si copiaza un cuvant din lista de mai sus, la intamplare
	randomize();
	int n=random(10);
	strcpy(word,words[n]);
	
    	// initializeaza cuvantul cu caractere de tipul "*"
	initUnknown(word, unknown);

	// meniu de intrare
	cout << "\n\nBine ai venit la spanzuratoarea...Ghiceste o nume de tara.";
	cout << "\n\nFiecare litera este o "*".;
	cout << "\n\nTrebuie sa scrii o litera pentru a incepe sa ghicesti.";
	cout << "\n\nAi " << MAX_TRIES << " incercari.";
	cout << "\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";

	// Facem loop pana gaseste cuvantul
	while (num_of_wrong_guesses < MAX_TRIES)
	{
		cout << "\n\n" << unknown;
		cout << "\n\nGhiceste o litera: ";
		cin >> letter;
		// Inlocuieste "*" cu litera daca este corect ,
		// Altfel mai pune +1 la greseli.
		if (letterFill(letter, word, unknown)==0)
		{
			cout << endl << "Whoops! Nu este aceasta litera!" << endl;
			num_of_wrong_guesses++;
		}
		else
		{
			cout << endl << "Ai gasit o litera, felicitari." << endl;
		}
		// Spune cate sanse mai are.
		cout << "Mai ai " << MAX_TRIES - num_of_wrong_guesses;
		cout << " incercari ramase." << endl;
		// Verifica daca a ghicit cuvantul.
		if (strcmp(word, unknown) == 0)
		{
			cout << word << endl;
			cout << "Bravo! Ai reusit.";
			break;
		}
	}
	if(num_of_wrong_guesses == MAX_TRIES)
	{
		cout << "\nScuze dar ai pierdut...Ai fost Spanzurat XD." << endl;
		cout << "Cuvantul era : " << word << endl;
	}
	getch();
	return 0;
}


int letterFill (char guess, char secretword[], char guessword[])
{
	int i;
	int matches=0;
	for (i = 0; secretword[i]!='\0'; i++)
	{
		
		if (guess == guessword[i])
			return 0;
		
		if (guess == secretword[i])
		{
			guessword[i] = guess;
			matches++;
		}
	}
	return matches;
}


// Initializeaza cuvantul

void initUnknown (char word[], char unknown[])
{
	int i;
	int length = strlen(word);
	for (i = 0; i < length; i++)
		unknown[i]='*';
	unknown[i]='\0';
}


// Project ends here


Bineinteles ca in acea lista de cuvinte cu india,pakistan etc.. puteti pune orice doriti sa va distrati

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.