/** Demande aux joueurs ayant des unités en main de les placer */ public boolean deploiementSuivant() { int nextJoueur = (indexSauvJoueurEnCours + 1) == lstJoueurs.size() ? 0 : (indexSauvJoueurEnCours + 1); for (; indexJoueurEnCours < lstJoueurs.size(); indexJoueurEnCours++) { if (indexJoueurEnCours == nextJoueur) { continue; } joueurEnCours = lstJoueurs.get(indexJoueurEnCours); Peuple p = joueurEnCours.getPeuple(); if (p != null && p.getNbUniteEnMain() > 0) { Game.getInstance().showTemp(joueurEnCours.getNom() + " se redéploie."); return true; } } indexJoueurEnCours = indexSauvJoueurEnCours; joueurEnCours = lstJoueurs.get(indexSauvJoueurEnCours); return false; }
/** * Passe un peuple se trouvant sur le jeu dans le tas * * @param peuple Peuple à remettre */ public void remettreBoite(Peuple peuple) { // Recherche de la classe du peuple Iterator<Class<? extends Peuple>> it = peuplesPris.iterator(); Class<? extends Peuple> peupleClass = null; while (it.hasNext() && peupleClass == null) { Class<? extends Peuple> tmp = it.next(); if (tmp.isInstance(peuple)) { peupleClass = tmp; } } peuplesPris.remove(peupleClass); peuplesDispo.add(peupleClass); // Recherche de la classe du pouvoir Iterator<Class<? extends Pouvoir>> ite = pouvoirsPris.iterator(); Class<? extends Pouvoir> pouvoirClass = null; while (ite.hasNext() && pouvoirClass == null) { Class<? extends Pouvoir> tmp = ite.next(); if (tmp.isInstance(peuple.getPouvoir())) { pouvoirClass = tmp; } } pouvoirsPris.remove(pouvoirClass); pouvoirsDispo.add(pouvoirClass); }
/** * Récupère toutes les unités placées sur les territoires du joueur à l'exception d'une par * territoire et les places dans sa main */ public void miseEnMain() { Peuple p = joueurEnCours.getPeuple(); // Récupération des unités du plateau Iterator<Territoire> it = p.getTerritoiresOccupes().iterator(); while (it.hasNext()) { Territoire t = it.next(); int nb = t.getNbUnite(); t.setNbUnite(1); p.addNbUniteEnMain(nb - 1); } // Application des bonus p.calcBonusUniteAttaque(); }