Ajout menu et boule(Bug sur cette derniere)
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user