Can you please write a c++ code for my gaming project using the idea given below
ID: 3825705 • Letter: C
Question
Can you please write a c++ code for my gaming project using the idea given below but just using different rules. The code should not be exactly the same preferably longer but doing the same thing. Thank you
#include <iostream>
#include <cstdlib>
#include<ctime>
#include <string>
using namespace std;
const int MAX_TRIES=5;
int letterFill (char, string, string&);
int main ()
{
string name;
char letter;
int num_of_wrong_guesses=0;
string word;
string words[] =
{
"india",
"pakistan",
"nepal",
"malaysia",
"philippines",
"australia",
"iran",
"ethiopia",
"oman",
"indonesia"
};
//choose and copy a word from array of words randomly
srand(time(NULL));
int n=rand()% 10;
word=words[n];
// Initialize the secret word with the * character.
string unknown(word.length(),'*');
// welcome the user
cout << " Welcome to hangman...Guess a country Name";
cout << " Each letter is represented by a star.";
cout << " You have to type only one letter in one try";
cout << " You have " << MAX_TRIES << " tries to try and guess the word.";
cout << " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
// Loop until the guesses are used up
while (num_of_wrong_guesses < MAX_TRIES)
{
cout << " " << unknown;
cout << " Guess a letter: ";
cin >> letter;
// Fill secret word with letter if the guess is correct,
// otherwise increment the number of wrong guesses.
if (letterFill(letter, word, unknown)==0)
{
cout << endl << "Whoops! That letter isn't in there!" << endl;
num_of_wrong_guesses++;
}
else
{
cout << endl << "You found a letter! Isn't that exciting!" << endl;
}
// Tell user how many guesses has left.
cout << "You have " << MAX_TRIES - num_of_wrong_guesses;
cout << " guesses left." << endl;
// Check if user guessed the word.
if (word==unknown)
{
cout << word << endl;
cout << "Yeah! You got it!";
break;
}
}
if(num_of_wrong_guesses == MAX_TRIES)
{
cout << " Sorry, you lose...you've been hanged." << endl;
cout << "The word was : " << word << endl;
}
cin.ignore();
cin.get();
return 0;
}
/* Take a one character guess and the secret word, and fill in the
unfinished guessword. Returns number of characters matched.
Also, returns zero if the character is already guessed. */
int letterFill (char guess, string secretword, string &guessword)
{
int i;
int matches=0;
int len=secretword.length();
for (i = 0; i< len; i++)
{
// Did we already match this letter in a previous guess?
if (guess == guessword[i])
return 0;
// Is the guess in the secret word?
if (guess == secretword[i])
{
guessword[i] = guess;
matches++;
}
}
return matches;
}
Explanation / Answer
Program(c++):-
#include<iostream>
#include<string>
#include<cstdlib>
int MAX_TRIES=5;
using namespace std;
int main()
{
string name;
char letter;
int num_of_wrong_guesses=0,guess=0,flag;
string word;
string words[] ={"india","pakistan","nepal","malaysia","philippines","australia","iran","ethiopia","oman","indonesia"};
cout << " Welcome to hangman...Guess a country Name";
cout << " Each letter is represented by a star.";
cout << " You have to type only one letter in one try";
cout << " You have " << MAX_TRIES << " tries to try and guess the word.";
cout << " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
int n=rand()%10;
word=words[n];
while(1)
{
cout<< " Guess a letter: ";
cin>>letter;
flag=0;
for(int i=0;i<word.length();i++)
{
if(letter==word[i])
{
cout<<"Hey ! You guessed correctly try for another letter";
guess++;
flag=1;
break;
}
}
if(flag==0)
{
cout<<"Oooohh! You failed to guess. You have "<<MAX_TRIES--<<" chances. Try again"<<endl;
}
if(guess==word.length())
{
cout<<"You won the game"<<endl<<"The word is"<<endl<<word<<endl;
break;
}
if(MAX_TRIES==0)
{
cout<<"Sorry. You lose the game."<<endl<<"The word is"<<endl<<word<<endl;
break;
}
}
return 0;
}
Output:-
Welcome to hangman...Guess a country Name
Each letter is represented by a star.
You have to type only one letter in one try
You have 5 tries to try and guess the word.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Guess a letter: i
Hey ! You guessed correctly try for another letter
Guess a letter: n
Hey ! You guessed correctly try for another letter
Guess a letter: d
Oooohh! You failed to guess. You have 5 chances. Try again
Guess a letter: p
Hey ! You guessed correctly try for another letter
Guess a letter: h
Oooohh! You failed to guess. You have 4 chances. Try again
Guess a letter: l
Oooohh! You failed to guess. You have 3 chances. Try again
Guess a letter: a
Hey ! You guessed correctly try for another letter
Guess a letter: b
Oooohh! You failed to guess. You have 2 chances. Try again
Guess a letter: i
Hey ! You guessed correctly try for another letter
Guess a letter: a
Hey ! You guessed correctly try for another letter
Guess a letter: d
Oooohh! You failed to guess. You have 1 chances. Try again
Sorry. You lose the game.
The word is
pakistan
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.