Ajout menu et boule(Bug sur cette derniere)

This commit is contained in:
2026-03-28 08:16:44 +01:00
parent 91aeead9e6
commit 4e8e947ff5
5 changed files with 368 additions and 15 deletions

View File

@@ -1,7 +1,9 @@
package linea;
import java.util.List;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.UIManager;
public class LineaAppli {
@@ -24,6 +26,63 @@ public class LineaAppli {
);
}
private static int choisirNiveau() {
// Générer les niveaux dynamiquement jusqu'à 100
String[] niveaux = new String[100];
for (int i = 1; i <= 100; i++) {
niveaux[i - 1] = genererLabelNiveau(i);
}
JList<String> list = new JList<>(niveaux);
list.setSelectedIndex(0);
list.setVisibleRowCount(15);
JScrollPane scrollPane = new JScrollPane(list);
scrollPane.setPreferredSize(new java.awt.Dimension(350, 350));
int result = JOptionPane.showConfirmDialog(
null,
scrollPane,
"🎮 Sélection du Niveau - Linea",
JOptionPane.OK_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE
);
if (result == JOptionPane.OK_OPTION) {
return list.getSelectedIndex() + 1;
}
return 1;
}
private static String genererLabelNiveau(int niveau) {
if (niveau <= 2) {
return "⭐ Niveau " + niveau + " - Facile" + (niveau == 2 ? "+" : "");
} else if (niveau <= 4) {
return "⭐⭐ Niveau " + niveau + " - Moyen" + (niveau == 4 ? "+" : "");
} else if (niveau <= 6) {
return "⭐⭐⭐ Niveau " + niveau + " - Difficile" + (niveau == 6 ? "+" : "");
} else if (niveau <= 8) {
return "⭐⭐⭐⭐ Niveau " + niveau + " - Très Difficile" + (niveau == 8 ? "+" : "");
} else if (niveau <= 10) {
return "⭐⭐⭐⭐⭐ Niveau " + niveau + " - Expert" + (niveau == 10 ? "+" : "");
} else if (niveau <= 12) {
return "🔥 Niveau " + niveau + " - Cauchemar" + (niveau == 12 ? "+" : "");
} else if (niveau <= 14) {
return "🔥 Niveau " + niveau + " - Chaos" + (niveau == 14 ? "+" : "");
} else if (niveau <= 16) {
return "💀 Niveau " + niveau + " - Infernal" + (niveau == 16 ? "+" : "");
} else if (niveau <= 18) {
return "💀 Niveau " + niveau + " - Apocalypse" + (niveau == 18 ? "+" : "");
} else if (niveau <= 20) {
return "⚡ Niveau " + niveau + " - Extrême" + (niveau == 20 ? "+" : "");
} else if (niveau <= 30) {
return "⚡ Niveau " + niveau + " - Infini";
} else if (niveau <= 50) {
return "∞ Niveau " + niveau + " - Au-delà";
} else {
return "🌌 Niveau " + niveau + " - Cosmos";
}
}
private static Integer menuComptes(DatabaseConnection db) {
while (true) {
Object[] options = {"Sélectionner", "Créer", "Supprimer", "Retour"};
@@ -93,13 +152,15 @@ public class LineaAppli {
switch (choix) {
case 1 -> {
new Jeu(db, -1).demarrer();
int niveau = choisirNiveau();
new Jeu(db, -1, niveau).demarrer();
return;
}
case 0 -> {
Integer idCompte = menuComptes(db);
if (idCompte != null) {
new Jeu(db, idCompte).demarrer();
int niveau = choisirNiveau();
new Jeu(db, idCompte, niveau).demarrer();
return;
}
}