2 次程式碼提交

作者 SHA1 備註 日期
8b5b30ea7b michel 2025-10-08 17:53:03 +02:00
960c8c7878 readme 2025-10-08 17:18:43 +02:00
共有 2 個檔案被更改,包括 21 行新增10 行删除

查看文件

@@ -10,9 +10,9 @@ import java.util.List;
/**
* Interface graphique du pendu avec niveaux :
* - 1 : mots < 8 lettres
* - 2 : mots ≥ 8 lettres
* - 3 : deux mots (score + chrono cumulés)
* - facile : mots < 8 lettres
* - moyen : mots ≥ 8 lettres
* - difficile : deux mots (score + chrono cumulés)
* Boutons : Essayer / Nouvelle partie / Menu / Quitter.
* (Toutes les méthodes ≤ 50 lignes)
*/
@@ -29,11 +29,11 @@ public class GameUI {
private String currentWord = "";
private Timer timer;
// Cumul de session (niveau 3)
// Cumul de session (niveau difficile)
private long sessionStartNano = -1L;
private int sessionScore = 0;
/** Reçoit la difficulté (1, 2, 3). */
/** Reçoit la difficulté (facile, moyen, difficile). */
public GameUI(int level) {
this.level = level;
}
@@ -88,9 +88,17 @@ public class GameUI {
scoreLabel = new JLabel("Score : 0");
timeLabel = new JLabel("Temps : 0s");
JPanel top = new JPanel(new GridLayout(2, 1));
top.add(buildTopLine(wordLabel, scoreLabel));
top.add(buildTopLine(triedLabel, timeLabel));
JLabel titleLabel = new JLabel("Sauver Michel!!", SwingConstants.CENTER);
titleLabel.setFont(new Font("Arial", Font.BOLD, 22));
titleLabel.setForeground(Color.RED);
JPanel top = new JPanel(new BorderLayout());
JPanel infoPanel = new JPanel(new GridLayout(2, 1));
infoPanel.add(buildTopLine(wordLabel, scoreLabel));
infoPanel.add(buildTopLine(triedLabel, timeLabel));
top.add(titleLabel, BorderLayout.NORTH);
top.add(infoPanel, BorderLayout.CENTER);
frame.add(top, BorderLayout.NORTH);
JPanel bottom = new JPanel(new BorderLayout(8, 8));
@@ -224,3 +232,4 @@ public class GameUI {
JOptionPane.showMessageDialog(frame, msg);
}
}

查看文件

@@ -8,10 +8,12 @@
- Affichage d’une **image différente du pendu** à chaque erreur
- Lecture de mots depuis un **fichier externe** (`bibliothèque/mots.txt`)
- Validation des entrées (une seule LETTRE à la fois)
- Bouton **“Nouvelle partie”** pour rejouer sans relancer le programme
- Bouton **“Nouvelle partie”** pour rejouer sans relancer le programme
- Bouton **“Quitter”** pour quitter le programme
- Bouton **“Menu”** pour retourner à la page menu et pouvoir rechoisir le niveau de difficulté
- Messages de victoire / défaite
- Score + Chronomètre en direct
- Sélection du niveau dans le menu avant de jouer
- Sélection du niveau dans le menu avant de jouer (Facile, Moyen, Difficile)
---