public Players(int num, String[] names, Deck deck) {
		this.numPlayers = num;
		this.playerList = new Player[this.numPlayers];
		PlayerHand[] ph = new PlayerHand[this.numPlayers];
		int numCardsInHand;

		// Determine how many cards will be in each deck
		if (this.numPlayers <= 4) {
			numCardsInHand = 7;
		} else {
			numCardsInHand = 5;
		}

		// Instantiate all the PlayerHands
		for (int i = 0; i < ph.length; i++) {
			ph[i] = new PlayerHand();
		}

		// Deal the cards
		for (int i = 0; i < this.numPlayers; i++) {
			for (int j = 0; j < numCardsInHand; j++) {
				Card c = deck.deal();
				ph[i].insert(c);
			}
		}
		// Note that the remaining cards will be used for the pool.
		// Since the Game constructor passes the Deck to the Players
		// constructor,
		// after the Players are created and the cards are dealt, the Game
		// constructor
		// will create the pool.

		// Create the players and add them to the player array
		for (int i = 0; i < this.numPlayers; i++) {
			this.playerList[i] = new Player(names[i], ph[i], i);
		}
	}