/** 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();
     }
   }
 }
 /**
  * Voir les informations des personnages sur les bandeaux des joueurs
  *
  * @param positionCaseSelectionné position de la case selectionné
  */
 public void voirInfoPersonnage(int[] positionCaseSelectionné) {
   Personnage p = plateau.caseGetPersonnage(positionCaseSelectionné);
   if (p != null) {
     if (joueur1.possedePersonnage(p)) ihmjeu.getBandeau1().getInfo().miseAJour(p);
     else if (joueur2.possedePersonnage(p)) ihmjeu.getBandeau2().getInfo().miseAJour(p);
   }
 }
  /** Met à jour les personnages s'ils sont KO */
  public void MAJPVPersonnage() {
    for (Personnage p : joueur1.getEquipe()) {
      if (p.isPointVieEgal0() && !p.isKO()) {
        p.setKO();
        Case c = plateau.getCase(p.getPosition());
        c.liberer();
      }
    }

    for (Personnage p : joueur2.getEquipe()) {
      if (p.isPointVieEgal0() && !p.isKO()) {
        p.setKO();
        Case c = plateau.getCase(p.getPosition());
        c.liberer();
      }
    }
  }
 /**
  * Place un personnage sur le plateau
  *
  * @param j joueur qui va placer les personnages
  * @param idPersonnage numero du personnage dans l'équipe du joueur
  * @param positionCaseSelectionné position de la case à placer le joueur
  * @throws CaseNonVide Exception
  * @throws CaseAdverse Exception
  */
 public void placerPersonnage(Joueur j, int idPersonnage, int[] positionCaseSelectionné)
     throws CaseNonVide, CaseAdverse {
   if (plateau.caseEstVide(positionCaseSelectionné)) {
     if (j == joueur1 && positionCaseSelectionné[0] < TaillePlateauX / 2
         || j == joueur2 && positionCaseSelectionné[0] >= (TaillePlateauX - TaillePlateauX / 2)) {
       Personnage p = j.getPersonnage(idPersonnage);
       p.setPosition(positionCaseSelectionné);
       plateau.poser(p, positionCaseSelectionné);
     } else throw new CaseAdverse();
   } else {
     throw new CaseNonVide();
   }
 }
Exemple #5
0
  public static void creerEquipe() throws Exception {
    int nbEquipe = Tournois.nbEquipesMix();
    MainWindows.barequipe.setMaximum(nbEquipe);
    MainWindows.barequipe.setMinimum(0);
    MainWindows.barequipe.setValue(0);
    int nbterrain = Tournois.getNbTerrain();
    List<Equipe> paire = Equipe.getListPaire();
    List<Joueur> ancien = Joueur.getListeAncien();
    List<Joueur> nouveau = Joueur.getListeNouveau();
    Collections.sort(ancien);
    Collections.sort(nouveau);
    Joueur j1 = null;
    Joueur j2 = null;
    if ((nbEquipe % 2) != 0) {
      nbEquipe--;
    }
    for (int i = 0; i < nbEquipe; i++) {
      int k = 0;
      j1 = nouveau.get(i);
      j2 = ancien.get(i);
      while (((j2.getJoue()) || (Equipe.alreadyTeam(paire, j1, j2))) && (k < ancien.size() - 1)) {
        k++;
        j2 = ancien.get(k);
      }
      j1.setJoue(true);
      if (j2.getJoue() == false) {
        j2.setJoue(true);
        database.insert(
            "insert into equipe(idjoueur1, idjoueur2, numerotour) values ("
                + j1.getIdJoueur()
                + ","
                + j2.getIdJoueur()
                + ","
                + Tournois.getNbToursEffectif()
                + ")");
        j1.addTour();
        j2.addTour();
        System.out.println(j1.getPrenom() + " avec " + j2.getPrenom());
        new ThreadProgressBar(MainWindows.barequipe, 1).start();
      } else {
        throw new ExceptionCreerPaire("Plus de combinaison de paire possible");
      }
    }
    if (ancien.size() > nouveau.size()) {
      for (int i = nbEquipe; i < (ancien.size() / 2) + 1; i++) {
        int k = 0;
        int j = 0;
        j1 = ancien.get(k);
        while ((j1.getJoue()) && (k < ancien.size() - 1)) {
          k++;
          j1 = ancien.get(k);
        }
        j1.setJoue(true);
        j2 = ancien.get(j);
        while ((j < ancien.size() - 1) && ((j2.getJoue()) || Equipe.alreadyTeam(paire, j1, j2))) {
          j++;
          j2 = ancien.get(j);
        }
        if (j2.getJoue() == false) {
          j2.setJoue(true);
          if (j1.getIdJoueur() != j2.getIdJoueur()) {

            database.insert(
                "insert into equipe(idjoueur1, idjoueur2, numerotour) values ("
                    + j1.getIdJoueur()
                    + ","
                    + j2.getIdJoueur()
                    + ","
                    + Tournois.getNbToursEffectif()
                    + ")");

            j1.addTour();
            j2.addTour();
            System.out.println(
                j1.getPrenom() + " indice:" + k + " avec " + j2.getPrenom() + " indice: " + j);
          }
          new ThreadProgressBar(MainWindows.barequipe, 1).start();
        } else {
          throw new ExceptionCreerPaire("Plus de combinaison de paire possible");
        }
      }
    } else if (nouveau.size() > ancien.size()) {
      for (int i = nbEquipe; i < (nouveau.size() / 2) + 1; i++) {
        int k = 0;
        int j = 0;
        while ((j1.getJoue()) && (k < nouveau.size() - 1)) {
          k++;
          j1 = nouveau.get(k);
        }
        j1.setJoue(true);
        j2 = nouveau.get(i);
        while ((j < nouveau.size()) && ((j2.getJoue()) || Equipe.alreadyTeam(paire, j1, j2))) {
          j++;
          j2 = nouveau.get(k);
          System.out.println("Etat du joueur 2: " + j2.getJoue());
        }
        if (j2.getJoue() == false) {
          j2.setJoue(true);
          if (j1.getIdJoueur() != j2.getIdJoueur()) {

            database.insert(
                "insert into equipe(idjoueur1, idjoueur2, numerotour) values ("
                    + j1.getIdJoueur()
                    + ","
                    + j2.getIdJoueur()
                    + ","
                    + Tournois.getNbToursEffectif()
                    + ")");

            j1.addTour();
            j2.addTour();
            System.out.println(
                j1.getPrenom() + " indice:" + k + " avec " + j2.getPrenom() + " indice: " + j);
          }
          new ThreadProgressBar(MainWindows.barequipe, 1).start();
        } else {
          throw new ExceptionCreerPaire("Plus de combinaison de paire possible");
        }
      }
    }
  }
 /**
  * Ajoute un personnage dans l'équipe du joueur sélectionné
  *
  * @param j joueur qui sélectionne
  * @param p Classe du personnage selectionné
  * @throws InstantiationException
  * @throws IllegalAccessException
  */
 public void ajouterPersonnage(Joueur j, Class<?> p)
     throws InstantiationException, IllegalAccessException {
   j.ajouterPersonnage((Personnage) p.newInstance());
 }
 /**
  * Retourne un booléen si l'equipe du joueur est KO
  *
  * @param j joueur à verifier
  * @return <code>true</code> si l'équipe est KO; <code>false</code> sinon
  */
 public boolean verifieEquipeKO(Joueur j) {
   for (Personnage p : j.getEquipe()) {
     if (!p.isKO()) return false;
   }
   return true;
 }
 /**
  * Met le nom du joueur
  *
  * @param j joueur à mettre le nom
  * @param nom futur nom du joueur
  */
 public void setnomjoueur(Joueur j, String nom) {
   j.setNom(nom);
 }