# 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 = { ``'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 Lose ! 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 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 :-)```

Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out - check it out now!

Previous
Next