#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" }; //choose and copy a word from array of words randomly randomize(); int n=random(10); strcpy(word,words[n]); // Initialize the secret word with the * character. initUnknown(word, unknown); // welcome the user cout << "\n\nWelcome to hangman...Guess a country Name"; cout << "\n\nEach letter is represented by a star."; cout << "\n\nYou have to type only one letter in one try"; cout << "\n\nYou have " << MAX_TRIES << " tries to try and guess the word."; cout << "\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"; // Loop until the guesses are used up while (num_of_wrong_guesses < MAX_TRIES) { cout << "\n\n" << unknown; cout << "\n\nGuess 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 they guessed the word. if (strcmp(word, unknown) == 0) { cout << word << endl; cout << "Yeah! You got it!"; break; } } if(num_of_wrong_guesses == MAX_TRIES) { cout << "\nSorry, you lose...you've been hanged." << endl; cout << "The word was : " << word << endl; } getch(); 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, char secretword[], char guessword[]) { int i; int matches=0; for (i = 0; secretword[i]!='\0'; 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; } // Initialize the unknown word 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
C++ HANGMAN GAME PROJECT - source code of program
About author: Admin
Cress arugula peanut tigernut wattle seed kombu parsnip. Lotus root mung bean arugula tigernut horseradish endive yarrow gourd. Radicchio cress avocado garlic quandong collard greens.
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment