Question
C++ programming: Your solution should for this assignment consist of five (5) files: Card.h (class specification file) Card.cpp (class implementation file) DeckOfCards.h (class specification file)
C++ programming:
Your solution should for this assignment consist of five (5) files:
Card.h (class specification file) Card.cpp (class implementation file)
DeckOfCards.h (class specification file)
DeckOfCards.cpp (class implementation file)
assingment.cpp (application program)
Class Card should provide:
a. Data members face and suit of type int. These are index numbers for the faces and suits arrays described in step c below.
b. A constructor that receives two ints representing the face and suit and uses them to initialize the data members.
c. Two static arrays of strings representing the faces and suits. The faces array stores the strings Ace, Deuce, Three, Four, Five, Six, Seven, Eight, Nine, Ten, Jack, Queen, and King. The suits array stores the strings Hearts, Diamonds, Clubs, and Spades.
d. A toString function that returns the Card as a string in the form face of suit. For example, Ace of Hearts. You can use the + operator to concatenate strings.
Class DeckOfCards should contain:
a. A vector of Cards named deck (of type Card the Card class) to store the Cards. There are 52 cards in a deck, which is the number of faces (13) times the number of suits (4).*
b. An integer currentCard representing the next card to deal. This is used as an index number for the deck vector from step a.
c. A default constructor that initializes the Cards in the deck. You can initialize the faces and suits in the order shown above in step c of the Card class.**
d. A shuffle function that shuffles the Cards in the deck. The shuffle algorithm should iterate through the array of Cards. For each Card, randomly select another Card in the deck and swap the two Cards.
e. A dealCard function that returns the next Card object from the deck vector.
f. A moreCards function that returns a bool value indicating whether there are more Cards to deal. This function will return false if all 52 cards have been dealt, otherwise it returns true.
*Note that this is composition: a deck of cards has cards, so the DeckOfCards class has a vector of type Card as one of its private member variables
This means each index in the deck vector stores an entire Card object, and each Card object in turn consists of a face (type string) and a suit (type string). For example:
deck[0] = Card(Ace, Hearts)
deck[1] = Card(Deuce, Diamond) ....
deck[51] = Card(Queen, Spades)
** The faces array stores the strings Ace, Deuce, Three, Four, Five, Six, Seven, Eight, Nine, Ten, Jack, Queen, and King. The suits array stores the strings Hearts, Diamonds, Clubs, and Spades. You can initialize the arrays following this order. |
The application program should create a DeckOfCards object, shuffle the cards, then deal the 52 cards. |
Each time you run the program you should see all 52 cards, but they should be displayed in a different order each time the program is run (as shown below).
|
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started