You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
// The Deck class that represents decks
// Do not make any changes to this file!
// Xiwei Wang
import java.io.*;
public class Deck implements Serializable{ // instance variables
private Card[][] myCards; private int m_numCards; // the number of card that are picked up to build the partial deck
private String m_sortedDeck; // constructor
public Deck() { myCards = new Card[4][13]; // populate the card array
for (int i = 0; i < 4; i++) for (int j = 0; j < 13; j++) myCards[i][j] = new Card(i, j); } // shuffle the deck
public void shuffle(int numShuffles) { for (int i = 0; i < numShuffles; i++) { // generate random positions
int suit1 = (int)(Math.random() * 4); int suit2 = (int)(Math.random() * 4); int rank1 = (int)(Math.random() * 13); int rank2 = (int)(Math.random() * 13); // swap the cards
Card temp = myCards[suit1][rank1]; myCards[suit1][rank1] = myCards[suit2][rank2]; myCards[suit2][rank2] = temp; } } // return a particular card in the deck
public Card getCard(int suit, int rank) { return myCards[suit][rank]; } // return a specific number of cards as a card array
public Card[] getPartialDeck(int numCards) { Card[] partialDeck = new Card[numCards]; int counter = 0; for (int i = 0; i < 4; i++) for (int j = 0; j < 13; j++) { partialDeck[counter] = myCards[i][j]; counter++; if (counter == numCards) return partialDeck; } return partialDeck; } // return a string reprentation of the deck
public String toString() { String deckContent = ""; for (int i = 0; i < 4; i++) { for (int j = 0; j < 13; j++) deckContent += myCards[i][j].toString() + " "; deckContent += "\n"; } return deckContent; } // set the number of cards that would be picked up and the sorted deck string
public void setVars(int numCards, String sortedDeck) { m_numCards = numCards; m_sortedDeck = sortedDeck; } // return the number of cards that would be picked up
public int getnumCards() { return m_numCards; } // return the sorted deck string
public String getSortedDeck() { return m_sortedDeck; }}
|