Write a class named Card, which can be used to represent a card from a deck of cards. The class should be able to stores a cards suit and face value. A cards suit can be one of the following Hearts, Diamonds, clubs, Spades. A cards face vaule can be Ace, King, Queen, or Jack or a value in range in 2 thru 10.
Next write a Deck class. This class constructor should create a list of 52 cards objects, each representing a valid card in the deck. The class should have a shuffle method that randomly shuffles the Card objects in the list. It should also have a deal method that “deals” a card from the deck. It does this by removing the Card object at the beginning of the list and returning a reference to the object.
Next write CardPlayer class. The class should keep a list of Card objects that have been delt to it. This represents a hand of cards. A method named add should accept a reference to a Card object, which is added to the list. A method named showCards displays the card objects in the list.
Demonstrate these classes in an application that creates a Deck object, shuffles the cards it contains, and deals five cards from the Deck to a CardPlayer object. The CardPlayer should then display the 5 cards.
JGRASP Plus commenting