I am very new to C++. I have to write a program for class that reflects the game of craps and I'm kinda stuck at this point. Any help someone could give me would be HUGELY appreciated.
The guidelines we were given are that the program should execute 10000 times to compute the probability of the "player" winning and the "house" winning.
Basic game rules are:
Player rolls two dice.
When the sum is 7 or 11 on first throw, player wins.
When the sum is 2, 3, or 12 on first throw, "house" wins.
When the sum is 4,5,6,8,9, or 10 on first throw, that sum becomes the player's "point".
Now, to win the player must continue rolling the dice until he makes "point"; however should he roll a 7 then the "house" wins.
The game ends.
My code this far is below. It seems as if my game counter is not updating. Also, how can I make this automated to run the 10000 times without myself having to push the Y or N keys? Thanks to whoever helps me!
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
srand((unsigned)time(NULL));
int firstRoll, nextRoll, die1, die2, sum, gamenum;
char playAgain;
cout << "Craps game for class" << endl << endl;
do
{
cout << "The game is ready to begin" << endl;
cout << endl;
die1 = (rand() % 6 + 1);
die2 = (rand() % 6 + 1);
firstRoll = die1 + die2;
gamenum = 1;
sum = 0;
cout << "Dice1= " << die1 << " and Dice2= " << die2 << " for a total of " << firstRoll << "." << endl;
if (firstRoll == 7 || firstRoll == 11)
{
cout << "Player wins!" << endl;
gamenum++;
}
else if ((firstRoll == 2) || (firstRoll == 3) || (firstRoll == 12))
{
cout << "House wins." << endl;
gamenum++;
}
else
{
do
{
cout << "Point value is: " << firstRoll << endl;
system("pause");
cout << endl;
die1 = (rand() % 6 + 1);
die2 = (rand() % 6 + 1);
nextRoll = die1 + die2;
cout << "Dice1= " << die1 << " and Dice2= " << die2 << " for a total of " << nextRoll << "." << endl;
if (nextRoll == firstRoll)
{
cout << "Point value rolled. Player wins" << endl;
gamenum = gamenum+1;
}
else if (nextRoll == 7)
{
cout << "Player loses" << endl;
gamenum = gamenum+1;
}
else
{
cout << "Roll again." << endl;
system("pause");
cout << endl;
}
}
while ((nextRoll != 7) && (nextRoll != firstRoll));
}
while (gamenum<=10000) //Need to focus here because
{ //Gamenum is not incrementing
sum += gamenum;
gamenum++;
}
cout<<gamenum<<endl;
cin >> playAgain;
if ((playAgain == 'n') || (playAgain == 'N'))
{
cout << "See ya next time" << endl;
}
else if ((playAgain == 'y') || (playAgain == 'Y'))
{
}
else
{
cout << "Please enter either Y or N!" << endl;
}
//}while;
}while ((playAgain == 'y') || (playAgain == 'Y'));
}// end of main