Создать класс карта, имеющая ранг и масть. Карту можно перевернуть и открыть. Создать класс - колода карт, содержащий карты. Создать два производных класса от колоды карт, в одном карты могут доставаться только по порядку, в другом - вытаскиваться произвольно.
