public static ArrayList<Card> generateDeck() {
        ArrayList<Card> deck = new ArrayList<>(DECK_SIZE);

        for (int s = 0; s < NUM_SUITES; s++) {
            for (int v = 0; v < NUM_VALUES; v++) {
                if (NUM_SUITES * s + v >= DECK_SIZE) {
                    break;
                }

                deck.add(new Card(v, s));
            }
        }

        return deck;
    }