GeeksforGeeks App
Open App
Browser
Continue

# 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 lose 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.

## C

 `// Cpp program for guessing game``// using rand() and srand()``#include ``#include ``#include `` ` `void` `GuessGame(``int` `amount_bet, ``int``* inhand_cash)``{``    ``char` `Hole[3] = { ``'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[0], Hole[1], Hole[2]);``        ``printf``(``"\nYour inhand_cash is now = %d \n"``, *inhand_cash);``    ``}`` ` `    ``else` `{``        ``(*inhand_cash) -= amount_bet;``        ``printf``(``"You Lose ! The holes are as follows: "``);``        ``printf``(``"\"%c %c %c\" "``, Hole[0], Hole[1], Hole[2]);``        ``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 lose 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 Lose ! 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 :-)```

My Personal Notes arrow_drop_up