Dépot
BIN
JDR/src/img/Ambresa.jpg
Normal file
After Width: | Height: | Size: 6.7 KiB |
BIN
JDR/src/img/Barbare04.jpg
Normal file
After Width: | Height: | Size: 6.6 KiB |
BIN
JDR/src/img/Caitlyn.jpg
Normal file
After Width: | Height: | Size: 9.8 KiB |
BIN
JDR/src/img/Combat.jpg
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
JDR/src/img/CombatPerdu.jpg
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
JDR/src/img/Ekko.jpg
Normal file
After Width: | Height: | Size: 8.3 KiB |
BIN
JDR/src/img/Guerrier05.jpg
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
JDR/src/img/Guerrier08.jpg
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
JDR/src/img/Guerrier10.jpg
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
JDR/src/img/Guerrier12.jpg
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
JDR/src/img/Jayce.jpg
Normal file
After Width: | Height: | Size: 7.7 KiB |
BIN
JDR/src/img/Jinx.jpg
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
JDR/src/img/Mel.jpg
Normal file
After Width: | Height: | Size: 8.5 KiB |
BIN
JDR/src/img/Simone.JPG
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
JDR/src/img/Sorcier02.JPG
Normal file
After Width: | Height: | Size: 6.6 KiB |
BIN
JDR/src/img/Sorciere1.jpg
Normal file
After Width: | Height: | Size: 7.5 KiB |
BIN
JDR/src/img/Viktor.jpg
Normal file
After Width: | Height: | Size: 6.3 KiB |
BIN
JDR/src/img/adj_1.jpg
Normal file
After Width: | Height: | Size: 9.1 KiB |
BIN
JDR/src/img/des.jpg
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
JDR/src/img/famille_1.jpg
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
JDR/src/img/magie.jpg
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
JDR/src/img/panoramix.gif
Normal file
After Width: | Height: | Size: 4.7 KiB |
BIN
JDR/src/img/pierreFeuilleCiseaux.jpg
Normal file
After Width: | Height: | Size: 13 KiB |
66
JDR/src/interfaces/jFFJDR.form
Normal file
@ -0,0 +1,66 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
|
||||
<Properties>
|
||||
<Property name="defaultCloseOperation" type="int" value="3"/>
|
||||
</Properties>
|
||||
<SyntheticProperties>
|
||||
<SyntheticProperty name="formSizePolicy" type="int" value="1"/>
|
||||
<SyntheticProperty name="generateCenter" type="boolean" value="false"/>
|
||||
</SyntheticProperties>
|
||||
<AuxValues>
|
||||
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
|
||||
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
|
||||
<AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
|
||||
<AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
|
||||
<AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
|
||||
<AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
|
||||
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
|
||||
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
|
||||
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
|
||||
</AuxValues>
|
||||
|
||||
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
|
||||
<SubComponents>
|
||||
<Container class="javax.swing.JPanel" name="jPChoix">
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
|
||||
<BorderConstraints direction="Center"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout>
|
||||
<DimensionLayout dim="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<EmptySpace min="0" pref="400" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
<DimensionLayout dim="1">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<EmptySpace min="0" pref="200" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
</Layout>
|
||||
</Container>
|
||||
<Container class="javax.swing.JPanel" name="jPInfos">
|
||||
<Constraints>
|
||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
|
||||
<BorderConstraints direction="East"/>
|
||||
</Constraint>
|
||||
</Constraints>
|
||||
|
||||
<Layout>
|
||||
<DimensionLayout dim="0">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<EmptySpace min="0" pref="420" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
<DimensionLayout dim="1">
|
||||
<Group type="103" groupAlignment="0" attributes="0">
|
||||
<EmptySpace min="0" pref="310" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</DimensionLayout>
|
||||
</Layout>
|
||||
</Container>
|
||||
</SubComponents>
|
||||
</Form>
|
102
JDR/src/interfaces/jFFJDR.java
Normal file
@ -0,0 +1,102 @@
|
||||
/*
|
||||
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
* Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java to edit this template
|
||||
*/
|
||||
package interfaces;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author steve.maingana
|
||||
*/
|
||||
public class jFFJDR extends javax.swing.JFrame {
|
||||
|
||||
/**
|
||||
* Creates new form jFFJDR
|
||||
*/
|
||||
public jFFJDR() {
|
||||
initComponents();
|
||||
}
|
||||
|
||||
/**
|
||||
* This method is called from within the constructor to initialize the form.
|
||||
* WARNING: Do NOT modify this code. The content of this method is always
|
||||
* regenerated by the Form Editor.
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||
private void initComponents() {
|
||||
|
||||
jPChoix = new javax.swing.JPanel();
|
||||
jPInfos = new javax.swing.JPanel();
|
||||
|
||||
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
|
||||
|
||||
javax.swing.GroupLayout jPChoixLayout = new javax.swing.GroupLayout(jPChoix);
|
||||
jPChoix.setLayout(jPChoixLayout);
|
||||
jPChoixLayout.setHorizontalGroup(
|
||||
jPChoixLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGap(0, 400, Short.MAX_VALUE)
|
||||
);
|
||||
jPChoixLayout.setVerticalGroup(
|
||||
jPChoixLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGap(0, 200, Short.MAX_VALUE)
|
||||
);
|
||||
|
||||
getContentPane().add(jPChoix, java.awt.BorderLayout.CENTER);
|
||||
|
||||
javax.swing.GroupLayout jPInfosLayout = new javax.swing.GroupLayout(jPInfos);
|
||||
jPInfos.setLayout(jPInfosLayout);
|
||||
jPInfosLayout.setHorizontalGroup(
|
||||
jPInfosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGap(0, 420, Short.MAX_VALUE)
|
||||
);
|
||||
jPInfosLayout.setVerticalGroup(
|
||||
jPInfosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||
.addGap(0, 310, Short.MAX_VALUE)
|
||||
);
|
||||
|
||||
getContentPane().add(jPInfos, java.awt.BorderLayout.EAST);
|
||||
|
||||
pack();
|
||||
}// </editor-fold>//GEN-END:initComponents
|
||||
|
||||
/**
|
||||
* @param args the command line arguments
|
||||
*/
|
||||
public static void main(String args[]) {
|
||||
/* Set the Nimbus look and feel */
|
||||
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
|
||||
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
|
||||
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
|
||||
*/
|
||||
try {
|
||||
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
|
||||
if ("Nimbus".equals(info.getName())) {
|
||||
javax.swing.UIManager.setLookAndFeel(info.getClassName());
|
||||
break;
|
||||
}
|
||||
}
|
||||
} catch (ClassNotFoundException ex) {
|
||||
java.util.logging.Logger.getLogger(jFFJDR.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
||||
} catch (InstantiationException ex) {
|
||||
java.util.logging.Logger.getLogger(jFFJDR.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
||||
} catch (IllegalAccessException ex) {
|
||||
java.util.logging.Logger.getLogger(jFFJDR.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
||||
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
|
||||
java.util.logging.Logger.getLogger(jFFJDR.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
||||
}
|
||||
//</editor-fold>
|
||||
|
||||
/* Create and display the form */
|
||||
java.awt.EventQueue.invokeLater(new Runnable() {
|
||||
public void run() {
|
||||
new jFFJDR().setVisible(true);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||
private javax.swing.JPanel jPChoix;
|
||||
private javax.swing.JPanel jPInfos;
|
||||
// End of variables declaration//GEN-END:variables
|
||||
}
|
47
JDR/src/jeuderole/JeuDeRolePolymorphisme.java
Normal file
@ -0,0 +1,47 @@
|
||||
/*
|
||||
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Main.java to edit this template
|
||||
*/
|
||||
package jeuderole;
|
||||
|
||||
import metier.*;
|
||||
|
||||
/**
|
||||
* Test Classe Jeu
|
||||
* @author famille Thevenot
|
||||
*/
|
||||
public class JeuDeRolePolymorphisme {
|
||||
|
||||
/**
|
||||
* @param args the command line arguments
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
Personnage Jinx = new Voleur("Jinx", "Jinx.jpg", 2, 4, "Poignard");
|
||||
Personnage Ekko = new Guerrier("Ekko", "Ekko.jpg", 6, 4, "Hache");
|
||||
|
||||
|
||||
Enigme[] enigmes1 = {
|
||||
new Enigme("Qu’est ce qui est plus grand que la Tour Eiffel, mais infiniment moins lourd ?","ombre"),
|
||||
new Enigme("Girafe = 3, Éléphant = 3, Hippopotame = 5, Lion = … ?","2"),
|
||||
new Enigme("Qu'est-ce qui commence la nuit et termine le matin ?","n"),
|
||||
new Enigme("Qu'est-ce qui fait le tour de la maison sans bouger ?","mur")
|
||||
};
|
||||
|
||||
Personnage Mel = new Sorcier("Mel", "Mel.jpg", 10, 5, "De laurier", enigmes1);
|
||||
Personnage[] persos = {
|
||||
Jinx, Ekko, Mel
|
||||
};
|
||||
|
||||
System.out.println(Jinx.getNom()+"\nHP: "+Jinx.getDureeVie()+"\nEP: "+Jinx.getEnergie());
|
||||
Jinx.varierDureeVie(5);
|
||||
Jinx.varierEnergie(-10);
|
||||
System.out.println(Jinx.getNom()+"\nHP: "+Jinx.getDureeVie()+"\nEP: "+Jinx.getEnergie());
|
||||
Jinx.varierDureeVie(-5);
|
||||
Jinx.varierEnergie(10);
|
||||
System.out.println(Jinx.getNom()+"\nHP: "+Jinx.getDureeVie()+"\nEP: "+Jinx.getEnergie());
|
||||
|
||||
Mel.rencontrer(Jinx);
|
||||
Jinx.rencontrer(Mel);
|
||||
}
|
||||
|
||||
}
|
27
JDR/src/metier/Enigme.java
Normal file
@ -0,0 +1,27 @@
|
||||
/*
|
||||
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||
*/
|
||||
package metier;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author steve.maingana
|
||||
*/
|
||||
public class Enigme {
|
||||
private String question;
|
||||
private String reponse;
|
||||
|
||||
public Enigme(String question, String reponse) {
|
||||
this.question = question;
|
||||
this.reponse = reponse;
|
||||
};
|
||||
|
||||
public String getQuestion() {
|
||||
return question;
|
||||
}
|
||||
|
||||
public String getReponse() {
|
||||
return reponse;
|
||||
}
|
||||
}
|
137
JDR/src/metier/Guerrier.java
Normal file
@ -0,0 +1,137 @@
|
||||
package metier;
|
||||
import java.util.Objects;
|
||||
import javax.swing.Icon;
|
||||
import javax.swing.JOptionPane;
|
||||
|
||||
/**
|
||||
* Classe Guerrier, hérite de la classe Personnage
|
||||
* @author Dominique_2
|
||||
* @version 20170115
|
||||
*/
|
||||
public class Guerrier extends Personnage{
|
||||
// Variable membre
|
||||
private String arme;
|
||||
|
||||
/**
|
||||
* Valorisation des variables membres
|
||||
* @param nom nom du guerrier
|
||||
* @param img nom de l'image représentant le guerrier
|
||||
* @param energie valeur énergétique du guerrier
|
||||
* @param dureeVie durée de vie du guerrier
|
||||
* @param arme armu du guerrier
|
||||
*/
|
||||
public Guerrier(String nom, String img, int energie, int dureeVie, String arme) {
|
||||
super(nom, img, energie, dureeVie);
|
||||
this.arme = arme;
|
||||
}
|
||||
/**
|
||||
* Permet d'obtenir les valeurs des attributs de l'objet courant
|
||||
* @return liste des attributs avec leurs valeurs
|
||||
*/
|
||||
@Override
|
||||
public String toString() {
|
||||
return super.toString() + "\tArme=" + arme;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int hash = 7;
|
||||
hash = super.hashCode() + (13 * hash + Objects.hashCode(this.arme));
|
||||
return hash;
|
||||
}
|
||||
/**
|
||||
* Comparaison de l'objet courant avec l'objet passé en paramètre
|
||||
* @param obj objet à comparer avec l'objet courant
|
||||
* @return true : les 2 objets sont identiques, false sinon
|
||||
*/
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj) {
|
||||
return true;
|
||||
}
|
||||
if (obj == null) {
|
||||
return false;
|
||||
}
|
||||
if (getClass() != obj.getClass()) {
|
||||
return false;
|
||||
}
|
||||
final Guerrier other = (Guerrier) obj;
|
||||
if (!Objects.equals(this.arme, other.arme)) {
|
||||
return false;
|
||||
}
|
||||
if(!super.equals(obj)){
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the value of arme
|
||||
*
|
||||
* @return the value of arme
|
||||
*/
|
||||
public String getArme() {
|
||||
return arme;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the value of arme
|
||||
*
|
||||
* @param arme new value of arme
|
||||
*/
|
||||
public void setArme(String arme) {
|
||||
this.arme = arme;
|
||||
}
|
||||
|
||||
/**
|
||||
* Initie la rencontre avec un autre personnage
|
||||
* @param unPerso un Personnage
|
||||
* @return Message de rencontre
|
||||
*/
|
||||
public String rencontrer(Personnage unPerso) {
|
||||
String titre = this.getNom() + " rencontre " + unPerso.getNom() + " : Jeu de dés";
|
||||
String message = "Es-tu prêt à me combattre "+ unPerso.getNom() +" ?";
|
||||
Icon ImgDe = new javax.swing.ImageIcon(getClass().getResource("/img/des.jpg"));
|
||||
JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE, ImgDe);
|
||||
|
||||
int Attaquant = Jeu.genererNbAleatoire(1, 100);
|
||||
int Defenseur = Jeu.genererNbAleatoire(1, 100);
|
||||
message = this.getNom()+": "+Attaquant+" - "+ unPerso.getNom() +": "+ Defenseur +"\n\n";
|
||||
Icon ImgVainqueur;
|
||||
if (Attaquant > Defenseur) {
|
||||
message += this.getNom() +" l'emporte !\n\n";
|
||||
ImgVainqueur = new javax.swing.ImageIcon(getClass().getResource("/img/"+ this.getNom() +".jpg"));
|
||||
unPerso.setEnergie(unPerso.getEnergie()-2);
|
||||
unPerso.setDureeVie(unPerso.getDureeVie()-1);
|
||||
} else if (Defenseur > Attaquant) {
|
||||
message += unPerso.getNom() +" l'emporte !\n\n";
|
||||
ImgVainqueur = new javax.swing.ImageIcon(getClass().getResource("/img/"+ unPerso.getNom() +".jpg"));
|
||||
this.setEnergie(this.getEnergie()-1);
|
||||
unPerso.setEnergie(unPerso.getEnergie()+2);
|
||||
} else {
|
||||
ImgVainqueur = null;
|
||||
message += "Il y a égalité entre les parties !\n\n";
|
||||
}
|
||||
message += this.getNom() +": "+ this.getDureeVie()+" - "+ unPerso.getNom() +": "+ unPerso.getDureeVie();
|
||||
|
||||
JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE, ImgVainqueur);
|
||||
//Icon imgPerso = new javax.swing.ImageIcon(getClass().getResource("/img/" + this.getImg()));
|
||||
//JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE, imgPerso);
|
||||
return message;
|
||||
}
|
||||
|
||||
/**
|
||||
* Saluer un personnage
|
||||
* @param unPerso Un personnage
|
||||
* @return Message de salutation
|
||||
*/
|
||||
@Override
|
||||
public String saluer(Personnage unPerso) {
|
||||
String titre = this.getNom() + " salue " + unPerso.getNom();
|
||||
String message = "Bonjour " + unPerso.getNom() + " , sauve-toi vite avant que je ne te frappe avec mon arme redoutable !";
|
||||
//JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE);
|
||||
Icon imgPerso = new javax.swing.ImageIcon(getClass().getResource("/img/" + this.getImg()));
|
||||
JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE, imgPerso);
|
||||
return message;
|
||||
}
|
||||
}
|
172
JDR/src/metier/Jeu.java
Normal file
@ -0,0 +1,172 @@
|
||||
/*
|
||||
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
||||
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
||||
*/
|
||||
package metier;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import javax.swing.JOptionPane;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author steve.maingana
|
||||
*/
|
||||
public class Jeu {
|
||||
// Nom du jeu
|
||||
private String nomJeu;
|
||||
// Tableau de personnages
|
||||
private Personnage[] persos;
|
||||
// Equipes de jeu
|
||||
private ArrayList<Personnage> Equipe1;
|
||||
private ArrayList<Personnage> Equipe2;
|
||||
|
||||
/**
|
||||
* Création du jeu
|
||||
* @param nomJeu Nom du jeu
|
||||
*/
|
||||
public Jeu(String nomJeu) {
|
||||
this.setNomJeu(nomJeu);
|
||||
this.chargerPersonnages();
|
||||
this.definirEquipes();
|
||||
}
|
||||
|
||||
/**
|
||||
* Représentation de la classe Jeu sous la forme d'une chaîne de caractères
|
||||
* @return Chaîne de caractères
|
||||
*/
|
||||
public String toString() {
|
||||
String envoi = "";
|
||||
envoi += "Jeu{" + "nomJeu=" + this.nomJeu + ",\n persos=";
|
||||
for (int i = 0; i < this.persos.length; i++) {
|
||||
envoi += this.persos[i].toString();
|
||||
envoi += ",\n";
|
||||
}
|
||||
envoi += "}";
|
||||
|
||||
return envoi;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Défini le nom du jeu
|
||||
* @param nomJeu Nom du jeu
|
||||
*/
|
||||
public void setNomJeu(String nomJeu) {
|
||||
this.nomJeu = nomJeu;
|
||||
}
|
||||
|
||||
/**
|
||||
* Défini le tableau de personnages
|
||||
* @param persos Tableau de personnages
|
||||
*/
|
||||
public void setPersos(Personnage[] persos) {
|
||||
this.persos = persos;
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialise le tableau de personnages
|
||||
*/
|
||||
private void chargerPersonnages() {
|
||||
//création des énigmes;
|
||||
Enigme[] enigmes1 = {
|
||||
new Enigme("Qu’est ce qui est plus grand que la Tour Eiffel, mais infiniment moins lourd ?","ombre"),
|
||||
new Enigme("Girafe = 3, Éléphant = 3, Hippopotame = 5, Lion = … ?","2"),
|
||||
new Enigme("Qu'est-ce qui commence la nuit et termine le matin ?","n"),
|
||||
new Enigme("Qu'est-ce qui fait le tour de la maison sans bouger ?","mur")
|
||||
};
|
||||
|
||||
Enigme[] enigmes2 = {
|
||||
new Enigme("Considérez la suite de chiffre suivante : 0 1 1 2 3 5 8 Quel chiffre suit le 8 ?","13"),
|
||||
new Enigme("Prenez une pizza et placez-la devant vous. En combien de morceaux maximum pouvez-vous la couper en effectuant seulement six coups de couteau ?","16"),
|
||||
new Enigme("C'est le jour de la paie. La poule reçoit 7 euros. L'abeille reçoit 21 euros. L'araignée reçoit 28 euros. Combien reçoit le chien ?","14"),
|
||||
new Enigme("Un escargot est au fond d'un puits de 10 mètres. Chaque matin il monte de 3 mètres et chaque nuit il descend de 2 mètres. Combien de jours lui faudra-t-il pour sortir de ce puits ?","7")
|
||||
};
|
||||
|
||||
Personnage[] persos = {
|
||||
new Guerrier("Jayce", "Jayce.jpg", 5, 5, "Hache"),
|
||||
new Guerrier("Ambresa", "Ambresa.jpg", 8, 9, "Lance"),
|
||||
new Guerrier("Ekko", "Ekko.jpg", 5, 6, "Poignard"),
|
||||
new Sorcier("Mel", "Mel.jpg", 6, 7, "De laurier", enigmes1),
|
||||
new Sorcier("Viktor", "Viktor.jpg", 10, 5, "Hexcore", enigmes2),
|
||||
new Voleur("Jinx", "Jinx.jpg", 7, 6, "Marteau")
|
||||
};
|
||||
|
||||
this.setPersos(persos);
|
||||
System.out.println("Personnages chargés !");
|
||||
}
|
||||
|
||||
/**
|
||||
* Répartit les personnages en équipes de 3
|
||||
*/
|
||||
private void definirEquipes() {
|
||||
for (int i = 0; i < 6; i++) {
|
||||
int rollEquipe = (int) (Math.random()*2)+1;
|
||||
if (rollEquipe == 1) {
|
||||
if (this.Equipe1.size() == 3) {
|
||||
this.Equipe2.add(this.persos[i]);
|
||||
} else {
|
||||
this.Equipe1.add(this.persos[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Recherche un personnage dans le tableau
|
||||
* @param nom Nom du personnage
|
||||
* @return S'il existe, il retourne le personnage sinon rien
|
||||
*/
|
||||
public Personnage rechercherPerso(String nom) {
|
||||
Personnage perso = null;
|
||||
boolean trouve = false;
|
||||
int i = 0;
|
||||
while (!trouve && i < this.persos.length) {
|
||||
if (this.persos[i].getNom().equals(nom)) {
|
||||
perso = this.persos[i];
|
||||
trouve = true;
|
||||
} else {
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
return perso;
|
||||
}
|
||||
|
||||
public void deroulement() {
|
||||
boolean actif = true;
|
||||
int tour = 1;
|
||||
ArrayList<Personnage> DuelE1 = null;
|
||||
ArrayList<Personnage> DuelE2 = null;
|
||||
|
||||
|
||||
|
||||
do {
|
||||
JOptionPane.showMessageDialog(null, "Tour "+tour, "3v3", JOptionPane.INFORMATION_MESSAGE);
|
||||
|
||||
do {
|
||||
Personnage hasard = this.Equipe1.get(genererNbAleatoire(0, 2));
|
||||
if (!DuelE1.contains(hasard)) {
|
||||
DuelE1.add(hasard);
|
||||
}
|
||||
} while (DuelE1.size() < 3);
|
||||
|
||||
do {
|
||||
Personnage hasard = this.Equipe2.get(genererNbAleatoire(0, 2));
|
||||
if (!DuelE2.contains(hasard)) {
|
||||
DuelE2.add(hasard);
|
||||
}
|
||||
} while (DuelE1.size() < 3);
|
||||
|
||||
} while(actif);
|
||||
}
|
||||
|
||||
/**
|
||||
* Génère un nombre aléatoire dans une intervalle
|
||||
* @param min Intervalle de début
|
||||
* @param max Intervalle de fin
|
||||
* @return Nombre aléatoire
|
||||
*/
|
||||
public static int genererNbAleatoire(int min, int max) {
|
||||
return min + (int)(Math.random() * ((max - min) + 1));
|
||||
}
|
||||
}
|
212
JDR/src/metier/Personnage.java
Normal file
@ -0,0 +1,212 @@
|
||||
package metier;
|
||||
import java.util.Objects;
|
||||
import javax.swing.Icon;
|
||||
import javax.swing.JOptionPane;
|
||||
|
||||
/**
|
||||
* Classe Mère Personnage
|
||||
* @author Dominique_2
|
||||
* @version 20170215
|
||||
*/
|
||||
public class Personnage {
|
||||
// Variables membres
|
||||
private String nom;
|
||||
private String img;
|
||||
private int energie;
|
||||
private int dureeVie;
|
||||
/**
|
||||
* Valorisation des variables membres
|
||||
* @param nom nom du personnage
|
||||
* @param img nom de l'image du personnage
|
||||
* @param energie valeur énergétique
|
||||
* @param dureeVie durée de vie, en année
|
||||
*/
|
||||
public Personnage(String nom, String img, int energie, int dureeVie) {
|
||||
this.nom = nom;
|
||||
this.img = img;
|
||||
this.energie = energie;
|
||||
this.dureeVie = dureeVie;
|
||||
}
|
||||
|
||||
public Personnage() {
|
||||
// throw new UnsupportedOperationException("Not supported yet."); // Generated from nbfs://nbhost/SystemFileSystem/Templates/Classes/Code/GeneratedMethodBody
|
||||
}
|
||||
/**
|
||||
* Permet d'obtenir les valeurs des attributs de l'objet courant
|
||||
* @return liste des attributs avec leurs valeurs
|
||||
*/
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Nom\t" + nom + "\nEnergie\t" + energie + "\nDuree de vie\t" + dureeVie
|
||||
+ "\n"+this.getClass().getSimpleName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int hash = 3;
|
||||
hash = 47 * hash + Objects.hashCode(this.nom);
|
||||
hash = 47 * hash + Objects.hashCode(this.img);
|
||||
hash = 47 * hash + this.energie;
|
||||
hash = 47 * hash + this.dureeVie;
|
||||
return hash;
|
||||
}
|
||||
|
||||
/**
|
||||
* Comparaison de l'objet courant avec l'objet passé en paramètre
|
||||
* @param obj objet à comparer avec l'objet courant
|
||||
* @return true : les 2 objets sont identiques, false sinon
|
||||
*/
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj) {
|
||||
return true;
|
||||
}
|
||||
if (obj == null) {
|
||||
return false;
|
||||
}
|
||||
if (getClass() != obj.getClass()) {
|
||||
return false;
|
||||
}
|
||||
final Personnage other = (Personnage) obj;
|
||||
if (this.energie != other.energie) {
|
||||
return false;
|
||||
}
|
||||
if (this.dureeVie != other.dureeVie) {
|
||||
return false;
|
||||
}
|
||||
if (!Objects.equals(this.nom, other.nom)) {
|
||||
return false;
|
||||
}
|
||||
if (!Objects.equals(this.img, other.img)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the value of energie
|
||||
*
|
||||
* @return the value of energie
|
||||
*/
|
||||
public int getEnergie() {
|
||||
return energie;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the value of energie
|
||||
*
|
||||
* @param energie new value of energie
|
||||
*/
|
||||
public void setEnergie(int energie) {
|
||||
this.energie = energie;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the value of dureeVie
|
||||
*
|
||||
* @return the value of dureeVie
|
||||
*/
|
||||
public int getDureeVie() {
|
||||
return dureeVie;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the value of dureeVie
|
||||
*
|
||||
* @param dureeVie new value of dureeVie
|
||||
*/
|
||||
public void setDureeVie(int dureeVie) {
|
||||
this.dureeVie = dureeVie;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the value of img
|
||||
*
|
||||
* @return the value of img
|
||||
*/
|
||||
public String getImg() {
|
||||
return img;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the value of img
|
||||
*
|
||||
* @param img new value of img
|
||||
*/
|
||||
public void setImg(String img) {
|
||||
this.img = img;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get the value of nom
|
||||
*
|
||||
* @return the value of nom
|
||||
*/
|
||||
public String getNom() {
|
||||
return nom;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the value of nom
|
||||
*
|
||||
* @param nom new value of nom
|
||||
*/
|
||||
public void setNom(String nom) {
|
||||
this.nom = nom;
|
||||
}
|
||||
|
||||
/**
|
||||
* Initie la rencontre avec un autre personnage
|
||||
* @param unPerso un Personnage
|
||||
* @return Message de rencontre
|
||||
*/
|
||||
public String rencontrer(Personnage unPerso) {
|
||||
String titre = this.getNom() + " rencontre " + unPerso.getNom();
|
||||
String message = "Bonjour " + unPerso.getNom() + " !";
|
||||
JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE);
|
||||
//Icon imgPerso = new javax.swing.ImageIcon(getClass().getResource("/img/" + this.getImg()));
|
||||
//JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE, imgPerso);
|
||||
return message;
|
||||
}
|
||||
|
||||
/**
|
||||
* Saluer un personnage
|
||||
* @param unPerso Un personnage
|
||||
* @return Message de salutation
|
||||
*/
|
||||
public String saluer(Personnage unPerso) {
|
||||
String titre = this.getNom() + " salue " + unPerso.getNom();
|
||||
String message = "Salut " + unPerso.getNom() + " !";
|
||||
// JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE);
|
||||
Icon imgPerso = new javax.swing.ImageIcon(getClass().getResource("/img/" + this.getImg()));
|
||||
JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE, imgPerso);
|
||||
return message;
|
||||
}
|
||||
|
||||
/**
|
||||
* Varier l'énergie du personnage
|
||||
* @param nb Nombre d'énergie à ajouter au personnage
|
||||
*/
|
||||
public void varierEnergie(int nb) {
|
||||
int energie = this.getEnergie()+nb;
|
||||
if (energie < 0) {
|
||||
this.setEnergie(0);
|
||||
} else {
|
||||
this.setEnergie(energie);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Varier la duree vie du personnage
|
||||
* @param nb Nombre de vie à ajouter au personnage
|
||||
*/
|
||||
public void varierDureeVie(int nb) {
|
||||
int dureeVie = this.getDureeVie()+nb;
|
||||
if (dureeVie < 0) {
|
||||
this.setDureeVie(0);
|
||||
} else {
|
||||
this.setDureeVie(dureeVie);
|
||||
}
|
||||
}
|
||||
}
|
162
JDR/src/metier/Sorcier.java
Normal file
@ -0,0 +1,162 @@
|
||||
package metier;
|
||||
|
||||
import java.util.Objects;
|
||||
import javax.swing.Icon;
|
||||
import javax.swing.JOptionPane;
|
||||
import static javax.swing.JOptionPane.DEFAULT_OPTION;
|
||||
import static javax.swing.JOptionPane.QUESTION_MESSAGE;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Dominique_2
|
||||
*/
|
||||
public class Sorcier extends Personnage {
|
||||
|
||||
private String baguette;
|
||||
private Enigme[] enigmes;
|
||||
|
||||
public Sorcier(String nom, String img, int energie, int dureeVie, String baguette, Enigme[] enigmes) {
|
||||
super(nom, img, energie, dureeVie);
|
||||
this.baguette = baguette;
|
||||
this.enigmes = enigmes;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int hash = 7;
|
||||
hash = super.hashCode() + (73 * hash + Objects.hashCode(this.baguette));
|
||||
return hash;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj) {
|
||||
return true;
|
||||
}
|
||||
if (obj == null) {
|
||||
return false;
|
||||
}
|
||||
if (getClass() != obj.getClass()) {
|
||||
return false;
|
||||
}
|
||||
final Sorcier other = (Sorcier) obj;
|
||||
if (!Objects.equals(this.baguette, other.baguette)) {
|
||||
return false;
|
||||
}
|
||||
if (!super.equals(obj)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return super.toString() + "\tBaguette=" + baguette + "\nNb Enigmes";
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the value of baguette
|
||||
*
|
||||
* @return the value of baguette
|
||||
*/
|
||||
public String getBaguette() {
|
||||
return baguette;
|
||||
}
|
||||
|
||||
public Enigme[] getEnigmes() {
|
||||
return this.enigmes;
|
||||
}
|
||||
|
||||
public void ajouterEnigme(Enigme e) {
|
||||
int tailleEnigmes = this.enigmes.length+1;
|
||||
Enigme[] enigmes = new Enigme[tailleEnigmes];
|
||||
for (int i = 0; i < this.enigmes.length; i++) {
|
||||
enigmes[i] = this.enigmes[i];
|
||||
}
|
||||
enigmes[this.enigmes.length] = e;
|
||||
|
||||
this.enigmes = enigmes;
|
||||
};
|
||||
|
||||
/**
|
||||
* Set the value of baguette
|
||||
*
|
||||
* @param baguette new value of baguette
|
||||
*/
|
||||
public void setBaguette(String baguette) {
|
||||
this.baguette = baguette;
|
||||
}
|
||||
|
||||
/**
|
||||
* Initie la rencontre avec un autre personnage
|
||||
* @param unPerso un Personnage
|
||||
* @return Message de rencontre
|
||||
*/
|
||||
public String rencontrer(Personnage unPerso) {
|
||||
// Message de défi à l'adversaire
|
||||
String titre = this.getNom() + " rencontre " + unPerso.getNom() + " : Enigme";
|
||||
String message = "Es-tu prêt à me combattre "+ unPerso.getNom() +" ?\n\nJeu d'énigme";
|
||||
|
||||
// Icone du jeu d'énigme à afficher
|
||||
Icon iEnigme = new javax.swing.ImageIcon(getClass().getResource("/img/adj_1.jpg"));
|
||||
|
||||
// Envoi du message et de l'icone dans une boite de dialogue
|
||||
JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE, iEnigme);
|
||||
|
||||
|
||||
// Numéro d'énigme aléatoire
|
||||
int idQuestion = Jeu.genererNbAleatoire(0, this.enigmes.length-1);
|
||||
|
||||
// Message de choix du PFC
|
||||
String question = this.enigmes[idQuestion].getQuestion();
|
||||
String reponseVrai = this.enigmes[idQuestion].getReponse();
|
||||
|
||||
message = question;
|
||||
// Choix du joueur avec des boutons
|
||||
String reponse = (String) JOptionPane.showInputDialog(null, message, titre, QUESTION_MESSAGE, null, null, null);
|
||||
|
||||
// Comparaison des choix pour définir un vainqueur
|
||||
message = "Ma question: "+ question +"\nTa réponse: "+ reponse +"\nLa réponse: "+ reponseVrai +"\n\n";
|
||||
|
||||
// Prendra en valeur l'image du vainqueur si vainqueur, il y a
|
||||
Icon ImgVainqueur;
|
||||
|
||||
if (!reponse.equals(reponseVrai)) { // Si this Voleur gagne
|
||||
// Message de victoire
|
||||
message += this.getNom() +" l'emporte !\n\n";
|
||||
ImgVainqueur = new javax.swing.ImageIcon(getClass().getResource("/img/"+ this.getNom() +".jpg"));
|
||||
|
||||
// Ajout d'un point d'énergie au Voleur
|
||||
unPerso.setDureeVie(unPerso.getDureeVie()-2);
|
||||
} else { // Si l'autre combattant gagne
|
||||
// Message de victoire
|
||||
message += unPerso.getNom() +" l'emporte !\n\n";
|
||||
ImgVainqueur = new javax.swing.ImageIcon(getClass().getResource("/img/"+ unPerso.getNom() +".jpg"));
|
||||
|
||||
// Retrait d'un point d'énergie au Voleur
|
||||
unPerso.setEnergie(this.getEnergie()+2);
|
||||
}
|
||||
|
||||
// Message d'information sur les vies de chaque partie
|
||||
message += this.getNom() +": "+ this.getDureeVie()+" - "+ unPerso.getNom() +": "+ unPerso.getDureeVie();
|
||||
|
||||
// Envoi du message et de l'icone dans une boîte du dialogue
|
||||
JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE, ImgVainqueur);
|
||||
return message;
|
||||
}
|
||||
|
||||
/**
|
||||
* Saluer un personnage
|
||||
* @param unPerso Un personnage
|
||||
* @return Message de salutation
|
||||
*/
|
||||
@Override
|
||||
public String saluer(Personnage unPerso) {
|
||||
String titre = this.getNom() + " salue " + unPerso.getNom();
|
||||
String message = "Bonjour " + unPerso.getNom() + ", je t'ai jeté un sort, tu es désormais sous ma dépendance !";
|
||||
//JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE);
|
||||
Icon imgPerso = new javax.swing.ImageIcon(getClass().getResource("/img/" + this.getImg()));
|
||||
JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE, imgPerso);
|
||||
return message;
|
||||
}
|
||||
}
|
189
JDR/src/metier/Voleur.java
Normal file
@ -0,0 +1,189 @@
|
||||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
package metier;
|
||||
|
||||
import java.util.Objects;
|
||||
import javax.swing.Icon;
|
||||
import javax.swing.JOptionPane;
|
||||
import static javax.swing.JOptionPane.DEFAULT_OPTION;
|
||||
import static javax.swing.JOptionPane.QUESTION_MESSAGE;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Dominique_2
|
||||
*/
|
||||
public class Voleur extends Personnage{
|
||||
|
||||
private String outil;
|
||||
private String [] outils={"Pierre","Feuille","Ciseaux"};
|
||||
|
||||
public Voleur(String nom, String img, int energie, int dureeVie, String outil) {
|
||||
super(nom, img, energie, dureeVie);
|
||||
this.outil = outil;
|
||||
//this.butin = butin;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int hash = 7;
|
||||
hash = super.hashCode() + (29 * hash + Objects.hashCode(this.outil));
|
||||
return hash;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj) {
|
||||
return true;
|
||||
}
|
||||
if (obj == null) {
|
||||
return false;
|
||||
}
|
||||
if (getClass() != obj.getClass()) {
|
||||
return false;
|
||||
}
|
||||
final Voleur other = (Voleur) obj;
|
||||
if (!Objects.equals(this.outil, other.outil)) {
|
||||
return false;
|
||||
}
|
||||
if (!super.equals(obj)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return super.toString() + "\t Outil=" + outil + "\nButin=";
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the value of outil
|
||||
*
|
||||
* @return the value of outil
|
||||
*/
|
||||
public String getOutil() {
|
||||
return outil;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the value of outil
|
||||
*
|
||||
* @param outil new value of outil
|
||||
*/
|
||||
public void setOutil(String outil) {
|
||||
this.outil = outil;
|
||||
}
|
||||
|
||||
public String[] getOutils() {
|
||||
return outils;
|
||||
}
|
||||
|
||||
public void setOutils(String[] outils) {
|
||||
this.outils = outils;
|
||||
}
|
||||
|
||||
private int jeuPFC(String J1, String J2) {
|
||||
if (J1 == "Pierre" && J2 == "Feuille") {
|
||||
return -1;
|
||||
} else if (J1 == "Feuille" && J2 == "Pierre") {
|
||||
return 1;
|
||||
} else if (J1 == "Feuille" && J2 == "Ciseaux") {
|
||||
return -1;
|
||||
} else if (J1 == "Ciseaux" && J2 == "Feuille") {
|
||||
return 1;
|
||||
} else if (J1 == "Ciseaux" && J2 == "Pierre") {
|
||||
return -1;
|
||||
} else if (J1 == "Pierre" && J2 == "Ciseaux") {
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Initie la rencontre avec un autre personnage
|
||||
* @param unPerso un Personnage
|
||||
* @return Message de rencontre
|
||||
*/
|
||||
public String rencontrer(Personnage unPerso) {
|
||||
// Message de défi à l'adversaire
|
||||
String titre = this.getNom() + " rencontre " + unPerso.getNom() + " : Pierre Feuille Ciseaux";
|
||||
String message = "Es-tu prêt à me combattre "+ unPerso.getNom() +" ?";
|
||||
|
||||
// Icone de PFC à afficher
|
||||
Icon iPFC = new javax.swing.ImageIcon(getClass().getResource("/img/pierreFeuilleCiseaux.jpg"));
|
||||
|
||||
// Envoi du message et de l'icone dans une boite de dialogue
|
||||
JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE, iPFC);
|
||||
|
||||
// Message de choix du PFC
|
||||
message = "Que choisis-tu, "+ unPerso.getNom() +" ?";
|
||||
|
||||
// Choix du joueur avec des boutons
|
||||
int reponse = JOptionPane.showOptionDialog(null, message, titre, DEFAULT_OPTION, QUESTION_MESSAGE, iPFC, outils, 0);
|
||||
|
||||
// Choix aléatoire du Voleur
|
||||
int choixVoleur = Jeu.genererNbAleatoire(0, 2);
|
||||
|
||||
// Comparaison des choix pour définir un vainqueur
|
||||
int PFC = this.jeuPFC(this.outils[choixVoleur], this.outils[reponse]);
|
||||
message = "Mon choix: "+ this.outils[choixVoleur] +" - Ton choix: "+ this.outils[reponse] +"\n\n";
|
||||
|
||||
// Prendra en valeur l'image du vainqueur si vainqueur, il y a
|
||||
Icon ImgVainqueur;
|
||||
|
||||
if (PFC > 0) { // Si this Voleur gagne
|
||||
// Message de victoire
|
||||
message += this.getNom() +" l'emporte !\n\n";
|
||||
ImgVainqueur = new javax.swing.ImageIcon(getClass().getResource("/img/"+ this.getNom() +".jpg"));
|
||||
|
||||
// Ajout d'un point d'énergie au Voleur
|
||||
this.setEnergie(this.getEnergie()+1);
|
||||
|
||||
// Retrait d'un point d'énergie à l'autre combattant
|
||||
unPerso.setEnergie(unPerso.getEnergie()-1);
|
||||
|
||||
// Retrait d'un point de vie à l'autre combattant
|
||||
unPerso.setDureeVie(unPerso.getDureeVie()-1);
|
||||
} else if (PFC < 0) { // Si l'autre combattant gagne
|
||||
// Message de victoire
|
||||
message += unPerso.getNom() +" l'emporte !\n\n";
|
||||
ImgVainqueur = new javax.swing.ImageIcon(getClass().getResource("/img/"+ unPerso.getNom() +".jpg"));
|
||||
|
||||
// Retrait d'un point d'énergie au Voleur
|
||||
this.setEnergie(this.getEnergie()-1);
|
||||
|
||||
// Ajout d'un point d'énergie à l'autre combattant
|
||||
unPerso.setEnergie(unPerso.getEnergie()+1);
|
||||
} else {
|
||||
ImgVainqueur = null;
|
||||
// Message d'égalité
|
||||
message += "Il y a égalité entre les parties !\n\n";
|
||||
}
|
||||
|
||||
// Message d'information sur les vies de chaque partie
|
||||
message += this.getNom() +": "+ this.getDureeVie()+" - "+ unPerso.getNom() +": "+ unPerso.getDureeVie();
|
||||
|
||||
// Envoi du message et de l'icone dans une boîte du dialogue
|
||||
JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE, ImgVainqueur);
|
||||
return message;
|
||||
}
|
||||
|
||||
/**
|
||||
* Saluer un personnage
|
||||
* @param unPerso Un personnage
|
||||
* @return Message de salutation
|
||||
*/
|
||||
@Override
|
||||
public String saluer(Personnage unPerso) {
|
||||
String titre = this.getNom() + " salue " + unPerso.getNom();
|
||||
String message = "Bonjour " + unPerso.getNom() + ", si tu baisses ton attention, je vais te dépouiller !";
|
||||
//JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE);
|
||||
Icon imgPerso = new javax.swing.ImageIcon(getClass().getResource("/img/" + this.getImg()));
|
||||
JOptionPane.showMessageDialog(null, message, titre, JOptionPane.INFORMATION_MESSAGE, imgPerso);
|
||||
return message;
|
||||
}
|
||||
}
|