# Guess Game using rand() and srand() in C

Using srand() and rand() function in C, a simple but interesting game can be made. This game is called “Guess Game” .

Rules of the Game :

• There are three holes . A rat is hidden in one of those three holes.
• The Rat shuffles its position every time.
• You have to guess the hole in which the Rat is hidden among the three holes.
• The hole in which Rat is present is named as ‘R’ and rest two are named as ‘N’.
• You have some cash(inhand_cash) with you.
• You make a bet (amount_bet) for playing this game every time you make a guess.
• If your guess is wrong, you loose the amount_bet from your inhand_cash.
• If you guess is right, you win twice the amount_bet in your inhand_cash.
• Keep playing and keep winning until you go out of cash.

Below is the code in C for this simple and interesting game:

Note : As this game takes input from the players for their inhand_cash, bet_amount and the guessed location of the rat, so this will not run in online compiler.

 `// Cpp program for guessing game ` `// using rand() and srand() ` `#include ` `#include ` `#include ` ` `  `void` `GuessGame(``int` `amount_bet, ``int``* inhand_cash) ` `{ ` `    ``char` `Hole = { ``'N'``, ``'R'``, ``'N'` `}; ` `    ``printf``(``"\nWait !! Rat is shuffling its position...\n"``); ` `    ``srand``((``time``(NULL))); ` `    ``int` `i, x, y, temp; ` ` `  `    ``/*Swapping the Rat's (R's) position  five times using ` `    ``the random number for random index*/` ` `  `    ``for` `(i = 0; i < 5; i++) { ` `        ``x = ``rand``() % 3; ` `        ``y = ``rand``() % 3; ` `        ``temp = Hole[x]; ` `        ``Hole[x] = Hole[y]; ` `        ``Hole[y] = temp; ` `    ``} ` ` `  `    ``int` `PlayerGuess; ` ` `  `    ``printf``(``"\nYou may now guess the hole in which Rat is present: "``); ` ` `  `    ``scanf``(``"%d"``, &PlayerGuess); ` ` `  `    ``if` `(Hole[PlayerGuess - 1] == ``'R'``) { ` `        ``(*inhand_cash) += 2 * amount_bet; ` `        ``printf``(``"You win ! The holes are as follows: "``); ` `        ``printf``(``"\"%c %c %c\" "``, Hole, Hole, Hole); ` `        ``printf``(``"\nYour inhand_cash is now = %d \n"``, *inhand_cash); ` `    ``} ` ` `  `    ``else` `{ ` `        ``(*inhand_cash) -= amount_bet; ` `        ``printf``(``"You Loose ! The holes are as follows: "``); ` `        ``printf``(``"\"%c %c %c\" "``, Hole, Hole, Hole); ` `        ``printf``(``"\nYour inhand_cash is now = %d \n"``, *inhand_cash); ` `    ``} ` `} ` ` `  `int` `main() ` `{ ` `    ``int` `amount_bet, inhand_cash; ` `    ``/* ` `    ``You have to guess the hole in which the  ` `     ``Rat is hidden among three holes ` `    ``The hole in which Rat is present is  ` `    ``named as 'R' and rest two are named as 'N' ` `    ``If your guess is wrong, you loose the  ` `    ``amount_bet from your inhand_cash ` `    ``If you guess it right, you win  ` `     ``twice the amount_bet in your inhand_cash ` `    ``Keep playing and keep winning  ` `    ``until you go out of cash ` `    ``*/` ` `  `    ``printf``(``"----Enter the inhand_cash you have right now---- : "``); ` ` `  `    ``scanf``(``"%d"``, &inhand_cash); ` ` `  `    ``while` `(inhand_cash > 0) { ` `        ``printf``(``"\nEnter the amount_bet you want to play for : "``); ` `        ``scanf``(``"%d"``, &amount_bet); ` `        ``if` `(inhand_cash == 0 || amount_bet > inhand_cash) ` `            ``break``; ` `        ``GuessGame(amount_bet, &inhand_cash); ` `    ``} ` ` `  `    ``if` `(inhand_cash == 0 || amount_bet > inhand_cash) { ` `        ``printf``(``"\n\""` `               ``" 🙁 Sorry you don't have enough cash to play more, "``); ` `        ``printf``(``"Do come next time\""` `               ``"\n"``); ` `        ``printf``(``"Thank You for playing 🙂 \n"``); ` `    ``} ` `    ``return` `0; ` `} `

Note: This output is not taken from online compiler
Output:

```----Enter the inhand_cash you have right now---- : 1

Enter the amount_bet you want to play for : 1

Wait !! Rat is shuffling its position...

You may now guess the hole in which Rat is present: 1
You Loose ! The holes are as follows: "N N R"
Your inhand_cash is now = 0

" :-( Sorry you don't have enough cash to play more, Do come next time"
Thank You for playing :-)
```

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Article Tags :
Practice Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.