public class Game {

  private final static String[] PLAYER_NAMES =
      {"Jerry", "Beth", "Morty", "Summer"};

  private final Player[] players;
  private Deck deck = new Deck();

  public Game(int numOtherPlayers, int numOfCards) {
    assert numOtherPlayers > 0 && numOtherPlayers < 5 :
        "Can only support 1 - 4 other players";
    //initialise Players
    this.players = new Player[numOtherPlayers + 1];
    for (int i = 1; i <= players.length; i++) {
      players[i] = new Player(PLAYER_NAMES[i]);
    }
    players[0] = new Player("Me");//hold the human on the 0th array element
    //initialise the cards (shuffle and deal)
    this.deck = new Deck();
    deck.shuffle();
    for (int i = 0; i < numOfCards; i++) {
      for (int j = 0; j < players.length; j++) {
        players[j].hand.add(deck.next());

      }
    }
  }
}
