;Task:
Create a data structure and the associated methods to define and manipulate a deck of [[wp:Playing-cards#Anglo-American-French|playing cards]].
The deck should contain 52 unique cards.
The methods must include the ability to:
:::* make a new deck
:::* shuffle (randomize) the deck
:::* deal from the deck
:::* print the current contents of a deck
Each card must have a pip value and a suit value which constitute the unique value of the card.