示例#1
0
  /** Changement de joueur dans le tour donné */
  public void joueurSuivant() {
    setEtape(0);

    /* on calcule les gains du tour et on met à jour les pts de victoire */
    int argent = joueurEnCours.calcArgentTour();

    Game.getInstance().showTemp(argent + " point(s) gagné(s) durant ce tour !");
    joueurEnCours.addArgent(argent);

    if (indexJoueurEnCours == lstJoueurs.size() - 1) {
      nouveauTour();
    } else {
      indexJoueurEnCours++;
      joueurEnCours = lstJoueurs.get(indexJoueurEnCours);

      if (joueurEnCours.getPeuple() == null) {
        Game.getInstance().selectionPeuple();
      } else if (joueurEnCours.getPeuple().getNbUnite() == 0) {
        remettreBoite(joueurEnCours.getPeuple());

        Game.getInstance().selectionPeuple();
      }

      miseEnMain();

      Game.getInstance().showTemp(joueurEnCours.getNom() + " attaque !");
    }
  }
示例#2
0
  /** 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;
  }
示例#3
0
 /** Verifie si un des deux joueurs gagne la partie */
 public void verifiegagner() {
   Joueur j;
   if (this.verifieEquipeKO(joueur1)) j = joueur2;
   else if (this.verifieEquipeKO(joueur2)) j = joueur1;
   else j = null;
   if (j != null) {
     JOptionPane.showMessageDialog(
         null,
         "Bravo le joueur " + j.getNom() + " a gagner la partie",
         "Fin de la Partie",
         JOptionPane.NO_OPTION,
         new ImageIcon("image/gagner.png"));
     Object[] options = {"Recommencer une nouvelle partie", " Quitter le jeu"};
     int confirm =
         JOptionPane.showOptionDialog(
             null,
             "Que voulez vous faire ?",
             "Quitter le jeu",
             JOptionPane.YES_NO_OPTION,
             JOptionPane.QUESTION_MESSAGE,
             null,
             options,
             options[1]);
     if (confirm == 1) {
       System.exit(0);
     } else if (confirm == 0) {
       ihmjeu.dispose();
       new Jeu();
     }
   }
 }
示例#4
0
  /** Phase de redeploiement */
  public void redeploiement() {
    setEtape(2);
    miseEnMain();
    joueurEnCours.getPeuple().calcBonusUnite();

    Game.getInstance().majInfos();

    Game.getInstance().showTemp(joueurEnCours.getNom() + " se redéploie.");
  }
示例#5
0
  /** Traitement lors d'un clic sur le bouton passer en déclin */
  public void cliqueDeclin() {
    if (etape == 0
        && joueurEnCours.getPeupleDeclin() == null
        && Game.getInstance().askConf("Confirmer le passage en déclin ?")) {

      // joueurEnCours.getPeuple().decliner();
      // joueurSuivant();
      tempEnDeclin = true;

      setEtape(2);
      miseEnMain();

      Game.getInstance().showTemp(joueurEnCours.getNom() + " se redéploie.");
    }

    Game.getInstance().majInfos();
  }
示例#6
0
  /** Méthode permettant de passer au tour suivant */
  public void nouveauTour() {
    tourEnCours++;

    if (tourEnCours >= nbTours) {
      Game.gameOver();

    } else {
      // RAZ des étapes
      etape = 0;
      indexJoueurEnCours = 0;

      joueurEnCours = this.lstJoueurs.get(indexJoueurEnCours);

      // Si le peuple n'a pas de joueur, il doit en choisir un
      if (joueurEnCours.getPeuple() == null) {
        Game.getInstance().selectionPeuple();
      }

      Game.getInstance().showTemp(joueurEnCours.getNom() + " attaque !");

      miseEnMain();
    }
  }