BJ.cpp

#include <strstream>
#include <list>
#include "deck.h"
#include "card.h"
#include "bjhand.h"
#include "dealhand.h"
#include "simhand.h"
#include "dealer.h"
#include "display.h"
#include "playhand.h"
#include "stddisp.h"

using namespace std;

ostream& operator<<(ostream& s, const Dealer::STATUS& status)
{
   switch (status) {
      case Dealer::BLACKJACK:
         s << "BLACKJACK";
         break;
      case Dealer::WIN:
         s << "WIN";
         break;
      case Dealer::LOSE:
         s << "LOSE";
         break;
      case Dealer::PUSH:
         s << "PUSH";
         break;
      default:
         throw "Illegal status type";
      }
   return s;
}



void DisplayPlayerResult(const Dealer& dealer, const
      StandardBlackJackHand& bjh)
{
   char buf[255];
   ostrstream output(buf, 255);
   output << dealer.GetPlayerStatus(&bjh) << '';
   bjh.GetDisplayer()->DisplayResult(bjh, output.str());
}

void main()
{
   Dealer dealer(1, 30);
   dealer.NewShoe();
   StandardDisplayer disp;
   StandardDealerHand dlr(&disp);
   SimulatedPlayerHand plr1("    Simuplayer", &disp);
   PlayerHand plr2("        Player", &disp);
   dealer.SetDealerHand(&dlr);
   dealer.AssignPlayerHand(&plr1);
   dealer.AssignPlayerHand(&plr2);

   do  {
      dealer.Play();
      // Print results
      dlr.GetDisplayer()->DisplayResult(dlr);
      DisplayPlayerResult(dealer, plr1);
      DisplayPlayerResult(dealer, plr2);
      } while(disp.InquireNewGame());
}

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.129.249.92