1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
|
/* header files */
#include <iostream>
#include <cstdlib> // contains function prototypes for functions srand and rand
#include <ctime> // contains prototype for function time
using namespace std;
// enumeration constants represent game status
enum Status { CONTINUE, WON, LOST };
int rollDice( void );
void playGame ( Status & gameStatus );
void displayWonOrLost ( Status, int &, int & );
int main()
{
int BankBalance = 1000;
int Wager = 100;
int count;
char Response;
const int player1= 1;
const int player2= 2;
Status gameStatus; // can contain CONTINUE, WON or LOST
cout << " Player 1 wagers $ "<< Wager << endl;
cout << " Player 1 Is rolling the DICE " << endl;
while ( Wager <= BankBalance ) {
cout << "Continue with current wager (Y) or end game (E)?" << endl;
cin >> Response;
switch ( Response ) {
case 'Y':
case 'y':
playGame( gameStatus );
displayWonOrLost ( gameStatus, BankBalance, Wager );
break;
case 'E':
case 'e':
cout << "Your final balance is " << BankBalance << endl;
cout << "Thank you, come again!" << endl;
return (0);
break;
default:
cout << "Incorrect Response. Please try again!" << endl;
break;
} // end switch
}
if ( BankBalance == 0 )
cout << "Sorry, No money remaining!" << endl;
return (0); // indicates successful termination
} // end main
void displayWonOrLost ( Status gameStatus, int & balance, int &
wager )
{
// display won or lost message
if ( gameStatus == WON ) {
balance += wager;
cout << "Player wins, new balance is " << balance << endl;
}
else {
balance -= wager;
cout << "That's craps! Player 1 loses " << endl;
cout << "Player 1 has $" << balance << endl;
} // End display won or lost message
}
void playGame (Status & gameStatus)
{
int sum;
int myPoint;
sum = rollDice(); // first roll of the dice
// determine game status and point based on sum of dice
switch ( sum )
{
// win on first roll
case 7:
case 11:
gameStatus = WON;
break;
// lose on first roll
case 2:
case 3:
case 12:
gameStatus = LOST;
break;
// remember point
default:
gameStatus = CONTINUE;
myPoint = sum;
cout << "Point is " << myPoint << endl;
break; // optional
} // end switch
// while game not complete ...
while ( gameStatus == CONTINUE ) {
sum = rollDice(); // roll dice again
// determine game status
if ( sum == myPoint ) // win by making point
gameStatus = WON;
else
if ( sum == 7 ) // lose by rolling 7
gameStatus = LOST;
} // end while
} // end playGame
// roll dice, calculate sum and display results
int rollDice( void )
{
int die1;
int die2;
int workSum;
cout<<"Please enter a value for die 1: ";
cin>>die1;
cout<<"please enter a value for die 2: ";
cin>>die2;
workSum = die1 + die2; // sum die1 and die2
// display results of this roll
cout << "Player rolled " << die1 << " + " << die2
<< " = " << workSum << endl;
return workSum; // return sum of dice
} // end function rollDice
|