// // deck class for WAR card game // // Described in Chapter 2 of // Data Structures in C++ using the STL // Published by Addison-Wesley, 1997 // Written by Tim Budd, budd@cs.orst.edu // Oregon State University // # include #include "card.h" #include "deck.h" using namespace std; Deck::Deck ( ) // initialize a deck by creating all 52 cards { topCard = 0; for (int i = 1; i <= 13; i++) { Card c1(diamond, i), c2(spade, i), c3(heart, i), c4(club, i); cards[topCard++] = c1; cards[topCard++] = c2; cards[topCard++] = c3; cards[topCard++] = c4; } } Card Deck::draw ( ) // return one card from the end of the deck { if (! isEmpty()) return cards[--topCard]; else { // otherwise return ace of spades Card spadeAce(spade, 1); return spadeAce; } }