/* craps.cpp * * From: * C++ How to Program, Deitel & Deitel, 1998 */ #include #include #include // prototypes int RollDice(); int main() { enum Status { CONTINUE, WON, LOST }; int sum, myPoint; Status gameStatus; // Initialize random number generator srand( time(NULL) ); sum = RollDice(); // first throw of dice switch( sum ) { case 7: // win on first roll case 11: gameStatus = WON; break; case 2: // lose on first roll case 3: case 12: gameStatus = LOST; break; default: // remember point gameStatus = CONTINUE; myPoint = sum; cout << " Point is " << myPoint << endl; break; } // keep rolling while( gameStatus == CONTINUE ) { sum = RollDice(); if( sum == myPoint ) // win by making point gameStatus = WON; else if( sum == 7 ) gameStatus = LOST; } // show results if( gameStatus == WON ) { cout << " Player wins" << endl; } else { cout << " Player loses" << endl; } return 0; } int RollDice() { int die1, die2, sum; die1 = 1 + rand() % 6; die2 = 1 + rand() % 6; sum = die1 + die2; cout << "Player rolled " << die1 << " + " << die2; cout << " = " << sum << endl; return sum; }