For a given range generate an array of cards.
Each card can be in one of two states: 1 (face up) or 0 (face down).
If a card is face up we can remove it from the list (update to be '.'), we must flip it's adjacent cards (if any).
Continue until the table is cleared.