/** * 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); } }
/** * 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++; } } }