Introduction
代写一个扑克牌小应用,实现随机洗牌和发牌即可,难度不大但是due只有两个小时。
Requirement
The objective of this assignment is to write classes to simulate a deck of cards. Recall that a deck of cards consists of 52 cards consisting of the 13 ranks (2, 3, 4, 5, 6, 7, 8, 9, T(ten), J(jack), Q(queen), K(kind), and A(ace) paired with the four suits CLUBS, DIAMONDS, HEARTS, and SPADES. Consider the following header file carddeck.h:
1 |
|
This header file has been attached for your convenience.
Problem 1
In a source file carddeck.cpp, provide an implementation for the Card class, i.e., please provide an implementation for all the member functions defined in the class. Observe that there are two constructors: a default constructor to create the card representing Ace of Spades (or AS) and a second constructor that defines a custom card with given rank and suit. The member function toString() should return a two character string representation of a card, i.e. it would return QH for Queen of Hearts, TD for Ten of Diamonds, 5S for Five of Spades, etc.
Problem 2
In the same source file carddeck.cpp, provide an implementation of the CardDeck class.
The constructor of this class should dynamically allocate an array of 52 cards and set them to all of the appropriate values (all ranks with all suits). The destructor should deallocate this array. The shuffle function should use random numbers to shuffle the cards, i.e., to re-arrange them in a random order such that no cards are repeated. The dealHand(int N) function should accept an integer and return a pointer to a sub-array consisting of N cards. If dealHand(int) is called twice after a shuffle, then the cards returned during the second call should be completely different from the cards returned during the first call. Notice that the CardDeck class contains a next_card pointer. You should use this pointer to keep track of which cards remain in the deck after dealing out hands.
Write a main function that generates a deck of cards, shuffles it, and deals two hands of 5 cards each. Have your function print out the cards in each hand.
When submitting this assignment, please only submit the file carddeck.cpp that you wrote. No other files should be included.