//class deck #include #include #include enum SuitType { Hearts,Clubs,Spades,Diamonds }; enum ValueType {abc,def,two, three, four, five, six, seven, eight, nine, ten, jack, queen, king, ace}; struct card { SuitType Suit; ValueType Value; }; ostream& operator<< (ostream &out, SuitType Suit) { switch (Suit) { case Hearts: out << "Hearts"; break; case Clubs: out << "Clubs"; break; case Spades: out << "Spades"; break; case Diamonds: out << "Diamonds"; break; } return out; } ostream& operator<< (ostream &out, ValueType Value) { switch (Value) { case two: out << "two"; break; case three: out << "three"; break; case four: out << "four"; break; case five: out << "five"; break; case six: out << "six"; break; case seven: out << "seven"; break; case eight: out << "eight"; break; case nine: out << "nine"; break; case ten: out << "ten"; break; case jack: out << "jack"; break; case queen: out << "queen"; break; case king: out << "king"; break; case ace: out << "ace"; break; } return out; } class Deck { public: Deck ( ); void shuffle ( ); card deal ( ) ; void swap(int , int ); private: apvector < card > myDeck; int cardused; }; Deck::Deck() //constructor :myDeck(52),cardused(0) { //-----fill vector----- int index=0; for(SuitType loop1=Hearts;loop1<=Diamonds; loop1++) { for (ValueType loop2=two;loop2<=ace;loop2++) { myDeck[index].Suit=loop1; myDeck[index].Value=loop2; index++; } } } void Deck::shuffle() { RandGen a ; RandGen b; int c,d; for(int loop=0;loop<10000; loop++) { c=a.RandInt(cardused,52); d=b.RandInt(cardused,52); swap(c,d); } } void Deck::swap(int a, int b) { apvector temp(1); temp[1]= myDeck[a]; myDeck[a]=myDeck[b]; myDeck[b]=temp[1]; } card Deck::deal () { int abc; RandGen a; abc=a.RandInt(cardused,52); cardused++; return myDeck[abc] ; } ------------------------------------------------------------------------ #include #include"blackjac.h" #include"deck.h" #include #include void main() { blackjack game1; char game='y'; char wuttodo; while (game=='y') { cout<<"~-~-~:-þ-~-!!!BlAcK.JaCk!!!-~-:-þ~-~-~"; game1.blackjack(); game1.showcards(); cout<>"; cin>>wuttodo; if(wuttodo=='h') game1.hit1(); else { cout<<"your cards stand at "; game1.showcards(); cout<<"your total stands at"<>game; } } ------------------------------------------------------------------------ //class blackjack. //devon kile apcs #include #include #include #include"deck.h" struct player { apvector myHand; int cardcount; int total; }; class blackjack { public: blackjack(); card hit1(); card hitdealer(); void showcards(); void whowon(); int returntotal(); int returndealerstotal(); private: Deck deck1; player player1; player dealer1; }; blackjack::blackjack() :player1.myHand(0), dealer1.myHand(0) { player1.myHand[0]=deck1.deal(); player1.myHand[1]=deck1.deal(); dealer1.myHand[0]=deck1.deal(); dealer1.myHand[1]=deck1.deal(); player1.total=player1.myHand[0].Value+player1.myHand[1].Value; dealer1.total=dealer1.myHand[0].Value+player1.myHand[1].Value; } card blackjack::hit1() { card card1=deck1.deal(); player1.cardcount++; if(card.Value<=10 ) player1.total+=card1.Value; else { if(card1.Value<=13) player1.total+=10; if(card1.Value==14) { if (player1.total<=10) player1.total+=11; else player1.total+=1; } } return card1; } card blackjack::hitdealer() { card card2; int num; dealer1.cardcount++; card2=deck1.deal(); num=card2.Value; dealer1.total+=num; return card2; } void blackjack::showcards() { cout<<"your cards.."; for(int loop=0; loop<=player1.cardcount;loop++) cout<dealer1.total) cout<<"<<=)=)=)=)=)=)=)=)yOuW0N=)=)=)=)=0=)=)>>"<>"<