예제 #1
0
  /**
   * On distribue 2 cartes troupes à chaque joueur Methode appelé dans "distributionCartesDepart(x,
   * y)"
   *
   * @param hjoueur hashset des joueurs
   * @param htitre hashset des titres
   */
  public void distributionTitreDepart(Set<Joueur> hjoueur, Set<Titre> htitre) {
    // On copie le hashSet des titre dans un tableau
    // On modifiera donc uniquement le tableau et non le hashSet d'initialisation
    Titre[] tabtitre = htitre.toArray(new Titre[htitre.size()]);
    // On convertit le tableau en liste pour mélanger et plus de simplicitée.
    ArrayList<Titre> list = new ArrayList<Titre>(Arrays.asList(tabtitre));
    Collections.shuffle(list);

    for (Joueur j : hjoueur) {
      // On affecte le titre au joueur
      j.setTitre(list.get(0));
      // On supprimer le titre de la liste pour ne pas le redonner
      list.remove(0);
    }
  }
예제 #2
0
  /**
   * Distribution de 2 cartes Troupes à chaque joueurs On retire les deux dernières cartes du paquet
   * de troupes
   *
   * @param hjoueur liste des joueurs
   * @param llct paquet des cartes troupes qui sert à donner des cartes aux joueurs
   */
  public void distributionCartesDepart(Set<Joueur> hjoueur, LinkedList<CarteTroupe> llct) {
    for (Joueur j : hjoueur) {
      // Distibution des titres aléatoirement
      distributionTitreDepart(hjoueur, hashTitre);

      int i = 0;
      // On prend la liste de carte troupe du joueur
      ArrayList<CarteTroupe> alct = j.getAlctroupe();

      // On ne prend que deux cartes troupes (à chaque fois la dernière du paquet)
      while (i < 2) {
        alct.add(llct.getLast());
        // On supprime la carte pour ne plus l'avoir dans le paquet
        llct.removeLast();
        i++;
      }
    }
  }