2-APL UPC project.
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 66 lines 1.5 kB view raw
1package cardtable; 2 3import java.util.*; 4import javax.swing.*; 5import javax.swing.ImageIcon; 6 7public class Deck { 8 private List deck; 9 private int index; 10 11 public Deck() { 12 deck = new ArrayList(); 13 index = 0; 14 Iterator suitIterator = Suit.VALUES.iterator(); 15 while ( suitIterator.hasNext() ) { 16 Suit suit = (Suit) suitIterator.next(); 17 Iterator rankIterator = Rank.VALUES.iterator(); 18 while ( rankIterator.hasNext() ) { 19 Rank rank = (Rank) rankIterator.next(); 20 java.net.URL imgURL = getClass().getResource("cards/" + Card.getFilename( suit, rank )); 21 ImageIcon cardImage = new ImageIcon(imgURL); 22 Card card = new Card( suit, rank, cardImage ); 23 addCard( card ); 24 } 25 } 26 } 27 28 public void addCard( Card card ) { 29 deck.add( card ); 30 } 31 32 public Card dealCard() { 33 if ( index >= deck.size() ) 34 return null; 35 else 36 return (Card) deck.get( index++ ); 37 } 38 39 40 public void shuffle() { 41 Collections.shuffle( deck ); 42 index = 0; 43 } 44 45 public boolean isEmpty() { 46 if ( index >= deck.size() ) 47 return true; 48 else 49 return false; 50 } 51 52 public List getDeck() { 53 return deck; 54 } 55 56 public Card getCard(String suit, String rank) { 57 Iterator it = deck.iterator(); 58 while ( it.hasNext() ) { 59 Card card = (Card) it.next(); 60 if(card.getSuit().getName().toLowerCase().equals(suit) && card.getRank().getName().toLowerCase().equals(rank)) 61 return card; 62 } 63 return null; 64 } 65 66}