Program for hangman game problem, C/C++ Programming

Assignment Help:

Program for Hangman Problem

  #include

  #include

  #include

  #include

  #include

  static void playGame();

  static void printMistakes(int n);

  static int const MAXGUESS=8;

  static int const MAXLETTER= 'z'-'a'+1;

  static char String[][15]= {"apple", "banana", "cat", "dog", "elephant", "fish", "giraffe", "hippopotamus", "ice cream","jelly", "kangaroo", "lion", "monkey", "noodles", "octopus", "parrot", "queen", "rabbit", "sun", "tree", "umbrella", "van", "window", "x-ray", "yellow", "zebra"};

  enum boolean {false, true};

  void main()

  {

  boolean again;

  char answer;

  clrscr();

  cout<<"\n\n\tThis is the word guessing game called Hangman.";

  cout<<"\n\tThe computer will pick-up a word and you must try to";

  cout<<"\n\tguess the lettrs in the word. If you guess the";

  cout<<"\n\tword with less than"<

  do

  {

  playGame();

  cout<<"\n\nWould you like to play another game?(Y or N)";

  cin>>answer;

  if (answer == 'y'|| answer == 'Y')

  again=true;

  else if (answer == 'n'|| answer == 'N')

  again=false;

  else

  {

  again=false;

  cout<<"\n Your answer\""<

  }

  }

  while (again);

  cout<<"\nThank you for playing Hangman!";

  }

  static void playGame()

  {

  boolean*already;

  char c;

  boolean*display;

  int found;

  int i;

  char inputChar;

  char inputString[15];

  int length;

  int letters;

  int mistakes,score,chanscor;

  boolean playing;

  char word[15];

  mistakes=0;

  score=0;

  randomize();

  strcpy(word,String[(int)(rand()%26)]);

  length= strlen(word);

  display= new boolean[length];

  letters=0;

  for (i=0; i

  {

  c=word[i];

  if ((c>='a')&&(c<='z'))

  {

  display[i]=false;

  letters++;

  }

  else

  display[i]=true;

  }

  cout<<"\n\nI am thinking of a word. ";

  if(letters==1)

  cout<<"the word has one letter.";

  else

  cout<<"the word has"<

  already= new boolean[MAXLETTER];

  for (i=0;i

  already[i]=false;

 

  playing = true;

  while(playing)

  { chanscor=100/(MAXGUESS-mistakes);

  cout<<"\nThe word is:";

  for (i=0; i

  {

  cout<<" ";

  if (display[i])

  cout<

  else

  cout<<"*";

  }

  cout<<"\nWhat is your guess? ";

  if ((MAXGUESS-mistakes) <= 1 )

  cout<<"this is your last guess?";

  else

  cout<<"you have"<<(MAXGUESS-mistakes)<<"guessing remaining.";

  gets(inputString);

  strlwr(inputString);

  if (strlen(inputString)== length)

  {

  if(strcmp(word,inputString)==0)

  {

  cout<<"Yes the word is\""<

  printMistakes(mistakes);

  playing=false;

  }

  else

  {

  cout<<"Sorry, the word is not\""<

  <<"\".";

  mistakes++;

  }

  }

  else if (strlen(inputString)!=1)

  {

  cout<<"Your guess\""<

  }

  else

  {

  inputChar=inputString[0];

  if((inputChar<'a')||(inputChar>'z'))

  {

  cout<<"Your guess\""<

  }

  else if (already[inputChar-'a'])

  {

  cout<<"You have already guessed the following letters:";

  for(i=0; i

 

 cout<<" "<<(char)(i+'a');

  cout<<"\n";

  }

  else

  {

  already[inputChar-'a']= true;

  found=0;

  for (i=0; i

  if (word[i]==inputChar)

  { display[i]= true;

  found++;

  }

  if (found <= 0)

  { cout<<"Sorry, the letter\""<

  mistakes++;

  }

  else

  {

  score=score+chanscor*(MAXGUESS-mistakes);

  cout<<"\n\t Your score now is"<

  if (found==1)

  cout<<"there is one letter\""<

  <<"\"in the word.";

  else

  cout<<"yes there are"<

  playing= false;

 for(i=0; i< length; i++)

 playing=playing || !display[i];

if (!playing)

 {

 cout<<"You found all the letters of the word\""<

printMistakes(mistakes);

}

}

}

}

 if (mistakes>= MAXGUESS)

{

cout<<"the word was\"" << word << "\".";

playing= false;

 }

 }

}

 static void printMistakes(int n)

{

 if (n<= 0)

 cout<<"You did not make any mistake. Excellent!";

 else if (n==1)

  cout<<"you made only one mistake. Great!";

 else

 cout<<"you made only"<

 getch();

}

 


Related Discussions:- Program for hangman game problem

Overloading unary operators, Overloading Unary Operators class sign ...

Overloading Unary Operators class sign {int a,b,c; public: sign(){}; sign(int,int,int); void putdata(void); void operator-(); }; void sign::operator-() {a=

Pointers with an array, // Basic pointer code #include "stdafx.h" #in...

// Basic pointer code #include "stdafx.h" #include iostream using namespace std; int _tmain(int argc, _TCHAR* argv[]) {             int FirstNumber, SecondNumber;

What are the differences among a struct in c & in c++?, A: In C++ a struct ...

A: In C++ a struct is alike to a class except for the default access specifier( refer to other question in the document). In C we ought to include the struct keyword while declarin

Single string programme, write a programme that allows a user to enter 5 di...

write a programme that allows a user to enter 5 distinct words and returns them as a single string

Padovan string, A Padovan string P(n) for a natural number n is defined as:...

A Padovan string P(n) for a natural number n is defined as: P(0) = ‘X’ P(1) = ‘Y’ P(2) = ‘Z’ P(n) = P(n-2) + P(n-3), n>2 where + denotes string concate

Erp, How does an ERP System facilitates better decision making?

How does an ERP System facilitates better decision making?

Explain public and private members, Public, Private and Protected members: ...

Public, Private and Protected members: Class members can either be declared in public','protected' or in the 'private' sections of the class. But as one of the features of OOP i

Create an array of strings, Create an array of Strings and fill it with som...

Create an array of Strings and fill it with some interesting text, such as vacation destinations, album names, or weapon names from a CRPG. Display three elements of the array on t

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd