Ejemplo n.º 1
0
 /** Routine graphique pour la selection des personnages */
 public void IhmSelectionPersonnage() {
   try {
     personnageSelectionné = this.choisirPersonnage(positionCaseSelectionné);
     ihmjeu.getGuiCase(positionCaseSelectionné).setBackground(Color.YELLOW);
     this.setPhase(Phase.NORMAL);
     ihmjeu.getCommande2().boutonActive();
     ihmjeu.afficherTerminal("Selectionner une Commande");
   } catch (CaseVide e) {
     ihmjeu.afficherTerminal("Erreur, la case selectionné est vide. Selectionner un Personnage");
   } catch (PersonnageAdverse e) {
     ihmjeu.afficherTerminal(
         "Erreur, la personnage selectionné n'est pas le votre. Selectionner un Personnage");
   }
 }
Ejemplo n.º 2
0
 /** Routine graphique du deplacement d'un personnage */
 public void IhmDeplacementPersonnage() {
   try {
     if (this.verifierCaseDeplacement(personnageSelectionné, positionCaseSelectionné)) {
       this.IhmFinVoirCasePossibleDeplacement();
       this.deplacerPersonnage(personnageSelectionné, positionCaseSelectionné);
       ihmjeu.getCommande2().deplacementFinie();
     }
     ihmjeu.getGuiCase(positionCaseSelectionné).setBackground(Color.YELLOW);
     ihmjeu.afficherTerminal("Selectionner une Commande");
     this.setPhase(Phase.NORMAL);
   } catch (DeplacementImpossible e) {
     ihmjeu.afficherTerminal(
         "Vos points de mouvements ne permettent pas de se deplacer sur cette case");
   }
 }
Ejemplo n.º 3
0
 /** Routine graphique de l'action selectionné d'un personnage */
 public void IhmActionPersonnage() {
   try {
     if (this.verifierCaseAction(idActionSelectionné, positionCaseSelectionné)) {
       this.personnageAction(personnageSelectionné, idActionSelectionné, positionCaseSelectionné);
       ihmjeu.getCommande2().actionFinie();
       this.IhmFinAction();
       this.hasAction();
       this.IhmFinVoirCasePossibleAction(idActionSelectionné);
       this.MAJPVPersonnage();
       this.verifiegagner();
     }
   } catch (ActionNonSelectionne e) {
     ihmjeu.afficherTerminal("Il faut d'abord selectionner une attaque");
   } catch (PorteeActionInsuffisante e) {
     ihmjeu.afficherTerminal("La portée de l'attaque est insuffisante pour atteindre cette case");
   }
 }
Ejemplo n.º 4
0
 /** Routine graphique de la désélection d'un personnage */
 public void IhmDeselectionPersonnage() {
   if ((!isDéplacé() && !isAction() && isPlacé())
       && personnageSelectionné == caseGetPersonnage(positionCaseSelectionné)) {
     ihmjeu.getGuiCase(positionCaseSelectionné).setBackground(getJoueurCourant().getColor());
     this.setPhase(Phase.SELECTION_PERSONNAGE);
     ihmjeu.getCommande2().boutonDesactive();
     ihmjeu.afficherTerminal("Selectionner un Personnage");
   }
 }
Ejemplo n.º 5
0
 /** Routine graphique lorsque la commande Action est appuyé */
 public void IhmActionAppuyé() {
   ihmjeu.getCommande2().setVisible(false);
   ihmjeu.remove(ihmjeu.getCommande2());
   ihmjeu.setCommande3(
       new IHMCommandeVue3(personnageSelectionné, ihmjeu, this, getJoueurCourant()));
   ihmjeu.getContentPane().add(ihmjeu.getCommande3(), BorderLayout.SOUTH);
   ihmjeu.afficherTerminal("Selectionner une Action");
   this.setPhase(Phase.ACTION_PERSONNAGE);
 }
Ejemplo n.º 6
0
 /** Routine graphique de la fin d'une Action */
 public void IhmFinAction() {
   ihmjeu.getCommande3().setVisible(false);
   ihmjeu.remove(ihmjeu.getCommande3());
   ihmjeu.getCommande2().setVisible(true);
   ihmjeu.getContentPane().add(ihmjeu.getCommande2(), BorderLayout.SOUTH);
   if (tour.isMultipleAction() && !tour.finMultipleAction())
     ihmjeu.getCommande2().actionMultiple();
   ihmjeu.afficherTerminal("Selectionner une Commande");
   this.setPhase(Phase.NORMAL);
 }
Ejemplo n.º 7
0
 /** Routine graphique de la fin du Tour */
 public void IhmFinTour() {
   ihmjeu
       .getGuiCase(personnageSelectionné.getPosition())
       .setBackground(getJoueurCourant().getColor());
   this.finTour();
   ihmjeu.getCommande2().setVisible(false);
   ihmjeu.remove(ihmjeu.getCommande2());
   ihmjeu.setCommande2(new IHMCommandeVue2(ihmjeu, this));
   ihmjeu.getContentPane().add(ihmjeu.getCommande2(), BorderLayout.SOUTH);
   ihmjeu.afficherTerminal("Selectionner un Personnage");
   this.setPhase(Phase.SELECTION_PERSONNAGE);
 }
Ejemplo n.º 8
0
  /** Routine graphique pour le placement des personnages */
  public void IhmPlacementPersonnage() {
    try {
      this.placerPersonnage(
          getJoueurCourant(), IdPersonnageSelectionné, this.positionCaseSelectionné);
      this.IhmFinVoirCasePossiblePlacement();
      ihmjeu.getCommande1().placementReussi(IdPersonnageSelectionné);
      ihmjeu.getCommande1().boutonActive(IdPersonnageSelectionné);
    } catch (CaseNonVide e) {
      JOptionPane.showMessageDialog(
          null, "La case n'est pas vide", e.toString(), JOptionPane.ERROR_MESSAGE);

    } catch (CaseAdverse e) {
      JOptionPane.showMessageDialog(
          null,
          "La case selectionné est dans le champs adverse",
          e.toString(),
          JOptionPane.ERROR_MESSAGE);
    }

    if (_countjoueur < 1 && ihmjeu.getCommande1().finPlacement()) {
      _countjoueur++;
      ihmjeu.remove(ihmjeu.getCommande1());
      this.joueurSuivant();
      ihmjeu.setCommande1(new IHMCommandeVue1(this, getJoueurCourant()));
      ihmjeu.getContentPane().add(ihmjeu.getCommande1(), BorderLayout.SOUTH);
      ihmjeu.afficherTerminal(
          "Joueur "
              + this.getJoueurCourant().getNom()
              + " : Placer vos personnages sur le plateau");

    } else if (_countjoueur == 1 && ihmjeu.getCommande1().finPlacement()) {
      this.hasPlacé();
      this.joueurSuivant();
      this.setPhase(Phase.SELECTION_PERSONNAGE);
      ihmjeu.remove(ihmjeu.getCommande1());
      ihmjeu.setCommande2(new IHMCommandeVue2(ihmjeu, this));
      ihmjeu.getContentPane().add(ihmjeu.getCommande2(), BorderLayout.SOUTH);
      ihmjeu.afficherTerminal("Selectionner un Personnage");
    }
  }
Ejemplo n.º 9
0
  /** Effectue une sauvegarde de la partie actuelle */
  public void sauvegarder() {

    final Jeu tempjeu = this;
    ObjectOutputStream oos = null;
    try {
      final FileOutputStream fichier = new FileOutputStream("jeu.ser");
      oos = new ObjectOutputStream(fichier);
      oos.writeObject(tempjeu);
      oos.flush();
    } catch (final java.io.IOException e) {
      e.printStackTrace();
    } finally {
      try {
        if (oos != null) {
          oos.flush();
          oos.close();
        }
      } catch (final IOException ex) {
        ihmjeu.afficherTerminal("Sauvegarde Impossible");
      }
    }
  }