#include #include #include #include #include "prompt.h" #include "bet.h" #include "wheel.h" #include "bankroll.h" #include "betfactory.h" #include "roulette.h" Game::Game() : myWheel(), myMoney(1000), mykeepplaying(true) { BetFactory bf(myWheel); int k; for(k=0; k < bf.numBets(); k++) { addBet(bf.getBet(k)); } } void Game::addBet(Bet * b) { myBets.push_back(b); } bool Game::keepplaying() { return myMoney.isSolvent() && mykeepplaying; } void Game::makeBet() { int k; for(k=0; k < myBets.size(); k++) { cout << k << ") " << myBets[k]->description() << endl; } cout << k << ") QUIT" << endl; myBetIndex = PromptRange("choice: ",0,myBets.size()); if (myBetIndex == myBets.size()) { mykeepplaying = false; return; } myBets[myBetIndex]->placeBet(myMoney); cout << endl; } void Game::play() { makeBet(); if (! keepplaying()) { return; } int k; for(k=0; k < 5; k++) { myWheel.spin(); } cout << endl << endl; myMoney.processBet(myBets[myBetIndex]); myMoney.report(); } int main(int argc, char * argv[]) { Game g; do { g.play(); } while (g.keepplaying()); return 0; }