Début d'interface

This commit is contained in:
2025-02-10 11:51:22 +01:00
parent c52812f8f6
commit ce222cb614
8 changed files with 589 additions and 46 deletions

View File

@@ -4,8 +4,8 @@
*/
package metier;
import java.util.ArrayList;
import javax.swing.JOptionPane;
import java.util.*;
import javax.swing.*;
/**
*
@@ -15,7 +15,7 @@ public class Jeu {
// Nom du jeu
private String nomJeu;
// Tableau de personnages
private Personnage[] persos;
private ArrayList<Personnage> persos;
// Equipes de jeu
private ArrayList<Personnage> Equipe1;
private ArrayList<Personnage> Equipe2;
@@ -27,7 +27,7 @@ public class Jeu {
public Jeu(String nomJeu) {
this.setNomJeu(nomJeu);
this.chargerPersonnages();
this.definirEquipes();
// this.definirEquipes();
}
/**
@@ -37,8 +37,8 @@ public class Jeu {
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();
for (int i = 0; i < this.persos.size(); i++) {
envoi += this.persos.get(i).toString();
envoi += ",\n";
}
envoi += "}";
@@ -55,14 +55,22 @@ public class Jeu {
this.nomJeu = nomJeu;
}
public String getNomJeu() {
return nomJeu;
}
/**
* Défini le tableau de personnages
* @param persos Tableau de personnages
*/
public void setPersos(Personnage[] persos) {
public void setPersos(ArrayList<Personnage> persos) {
this.persos = persos;
}
public ArrayList getPersos() {
return this.persos;
}
/**
* Initialise le tableau de personnages
*/
@@ -82,30 +90,44 @@ public class Jeu {
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")
};
ArrayList<Personnage> persos = new ArrayList<Personnage>();
persos.add(new Guerrier("Jayce", "Jayce.jpg", 5, 5, "Hache"));
persos.add(new Guerrier("Ambresa", "Ambresa.jpg", 8, 9, "Lance"));
persos.add(new Guerrier("Ekko", "Ekko.jpg", 5, 6, "Poignard"));
persos.add(new Sorcier("Mel", "Mel.jpg", 6, 7, "De laurier", enigmes1));
persos.add(new Sorcier("Viktor", "Viktor.jpg", 10, 5, "Hexcore", enigmes2));
persos.add(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
* Obtenir la liste des personnages encore en vie
* @return Liste des personnages encore en vie
*/
public Vector getLesPersonnagesVivants() {
Vector<String> lesPersonnages = new Vector<>();
for (Personnage perso : this.persos) {
if (perso.getDureeVie() > 0) {
lesPersonnages.add(perso.getClass().getSimpleName()+":"+perso.getNom());
}
}
return lesPersonnages;
}
/**
* R<>partit les personnages en <20>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]);
this.Equipe2.add(this.persos.get(i));
} else {
this.Equipe1.add(this.persos[i]);
this.Equipe1.add(this.persos.get(i));
}
}
}
@@ -120,9 +142,9 @@ public class Jeu {
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];
while (!trouve && i < this.persos.size()) {
if (this.persos.get(i).getNom().equals(nom)) {
perso = this.persos.get(i);
trouve = true;
} else {
i++;