Deck.java (1136B)
1 package lucky_card; 2 3 import java.util.ArrayList; 4 import java.util.Collections; 5 6 public class Deck { 7 //arrayList where all cards are stored 8 private ArrayList<Card> deck = new ArrayList<Card>(); 9 10 //used to build cards 11 private String[] suits = {"Clubs", "Diamonds", "Hearts", "Spades"}; 12 private String[] ranks = { "Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King"}; 13 14 //constructor 15 public Deck() { 16 //generate deck 17 for (String suit : suits) { 18 for (String rank : ranks) { 19 //create new card object for every suit and rank 20 deck.add(new Card(suit, rank)); 21 } 22 } 23 shuffle(); 24 } 25 26 //shuffle the deck 27 void shuffle() { 28 //shuffle deck 29 Collections.shuffle(deck); 30 } 31 32 //add card to the end of the deck. 33 void addToBottom(Card card) { 34 deck.add(0, card); 35 } 36 37 //retrieve a card from deck at specified position (cardNumber) 38 Card getCard(int cardNumber) { 39 return deck.get(cardNumber); 40 } 41 42 //return and remove the first card in deck 43 Card pop() { 44 return deck.remove(this.getLength()-1); 45 } 46 47 //return the amount of cards in the deck. 48 int getLength() { 49 return deck.size(); 50 } 51 }