This assignment builds on top of the Card class from Homework 11. If you are not satisfied with your solution to that assignment, feel free to use my version from the class web page.
In that program, a deck is implemented as an array of Cards. For example, when we pass a ``deck'' as a parameter, the actual type of the parameter is Card.
In Chapter 12 of the excellent textbook, ``How to think like a computer scientist,'' I present an alternative representation for a deck, an object type named Deck that contains an array of cards as an instance variable.
You should read Chapter 12 and understand the difference between these two representations before proceeding.
It is probably a good idea to make this transformation one method at a time, and test the program after each change. On the other hand, if you are confident you know what you are doing, you can make most of the changes with search-and-replace commands.