private CardInfo getCard(int i) { if (i >= getNumberOfCards()) { throw new IllegalArgumentException( "Deck contains " + getNumberOfCards() + " cards. Requested " + i); } return cards.get(i); }
public void reset() { removeAllCards(); // Initialize deck with 52 cards, no jokers for (Suite suite : Suite.values()) { for (int i = 1; i <= 13; i++) { CardInfo c = new CardInfo(suite, i); cards.add(c); } } }
public boolean isEmpty() { return cards.isEmpty(); }
public CardInfo drawCard() { if (getNumberOfCards() < 1) { throw new IllegalArgumentException("Deck does not contain any cards"); } return cards.remove(getNumberOfCards() - 1); }
public void addCardAtTop(CardInfo card) { cards.add(card); }
public void addCardAtBottom(CardInfo card) { cards.add(0, card); }
public int getNumberOfCards() { return cards.size(); }
private void removeAllCards() { cards.clear(); }
public void shuffle() { cards.shuffle(); }