Exemple #1
0
 public Deck() {
   for (Card.Suit suit : Card.Suit.values()) {
     for (Card.Rank rank : Card.Rank.values()) {
       cards.add(new Card(rank, suit));
     }
   }
 }
 private static List<Card> makeDeck() {
   List<Card> cards = new ArrayList<Card>();
   for (Card.Suit s : Card.Suit.values()) {
     for (Card.Rank r : Card.Rank.values()) {
       cards.add(new Card(r, s));
     }
   }
   Collections.shuffle(cards);
   return cards;
 }
Exemple #3
0
	/**
	 * Clear deck and initialize it with 52 * NUM_DECKS new cards. 
	 */
	private void initializeDeck() {
		deck.clear();
		
		for(int i = 0; i < NUM_DECKS; i++)
		{
			for(Card.Rank rank: Card.Rank.values()) {
				for(Card.Suit suit: Card.Suit.values()) {
					deck.add(new Card(rank, suit));
				}
			}
		}

		Collections.shuffle(deck, new Random());		
	}
Exemple #4
0
  public Deck() {
    deck = new ArrayList<Card>();

    Card.Suit[] Suits = Card.Suit.values();
    Card.Rank[] Ranks = Card.Rank.values();

    for (int i = 0; i < Suits.length; i++) {
      for (int j = 0; j < Ranks.length; j++) {
        deck.add(new Card(Suits[i], Ranks[j]));
      }
    }

    shuffle();
  }
Exemple #5
0
  @Override
  public void create(int numberOfSuits, int numberOfRanks) {
    this.numberOfRanks = numberOfRanks;
    this.numberOfSuits = numberOfSuits;
    logger.info(
        format("*** Creating Deck with %s suits and %s ranks ***", numberOfSuits, numberOfRanks));

    List<Card.Suit> suits = Arrays.asList(Card.Suit.values()).subList(0, numberOfSuits);
    List<Card.Rank> ranks = Arrays.asList(Card.Rank.values()).subList(0, numberOfRanks);
    cards =
        suits
            .stream()
            .flatMap(suit -> ranks.stream().map(rank -> new Card(rank, suit)))
            .collect(toList());
  }
Exemple #6
0
 public int hashCode() {
   return ((suit.value() - 1) * 13) + rank.value();
 }