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

Ascii string related, A string S is said to be "Super ASCII", if it contain...

A string S is said to be "Super ASCII", if it contains the character frequency equal to their ascii values. String will contain only lower case alphabets (''a''-''z'') and the asci

Explain multidimensional arrays, Multidimensional Arrays - Every dimens...

Multidimensional Arrays - Every dimension is specified in separate brackets e.g. int arr[4][3]; This is a two-dimensional array with 4 as row dimension and 3 as

C#, 1. write a program named InputMethodDemo2 that eliminates the repetitiv...

1. write a program named InputMethodDemo2 that eliminates the repetitive code in the InputMethod() in the InputMethodDemo program. Rewrite the program so the InputMethod()contains

Write a program to create a binary file, Write a program to create a binary...

Write a program to create a binary file and store the following data "hello", 0x0030,'1', 1.234  Using visual studio examine the binary file and note how the day is stored   Answe

Pebble merchant, to design a car that travels along the room and gives the ...

to design a car that travels along the room and gives the length of the room

Pebble merchant problem, Problem Description There is a pebble merchant. H...

Problem Description There is a pebble merchant. He sells the pebbles, that are used for shining the floor. His main duty is to take the length of the room’s sides. But he sometime

Luminous jewels polishing necklace, 1.jewels can only be removed for polish...

1.jewels can only be removed for polishing from either end of the necklace. 2.cost of polishing=sitting number*colour value of jewels.

Program for single int parameter, Write a function that has a single int pa...

Write a function that has a single int parameter n and returns an int: 0 if n is negative, otherwise 1. You are not allowed to simply check the integer value, and should use the fu

Program that allows a restaurant employee to enter an order, The Malt Shop ...

The Malt Shop restaurant charges $2.99 for burgers, $1.29 for fries, and $1.25 for sodas.  Write a program that allows a restaurant employee to enter an order (the number of bur

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