OOP-Projects-Java

Log | Files | Refs | README

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 }