6 Commits

Author SHA1 Message Date
8b421b3cba michel 2025-10-08 17:37:40 +02:00
15a280ad2c conflit 2025-10-08 17:24:12 +02:00
4b7d0c7753 nul 2025-10-08 17:14:42 +02:00
2fe044753a rm out 2025-10-08 17:09:49 +02:00
2dc9caee23 Merge branch 'JANNAIRE' 2025-10-08 17:08:13 +02:00
cc14043782 readme 2025-10-08 16:25:54 +02:00
23 changed files with 30 additions and 18 deletions

View File

@@ -127,4 +127,4 @@ public class Words {
}
return out;
}
}
}

View File

@@ -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));
@@ -223,4 +231,4 @@ public class GameUI {
private void showMsg(String msg) {
JOptionPane.showMessageDialog(frame, msg);
}
}
}

View File

@@ -3,7 +3,7 @@ package front;
import javax.swing.*;
import java.awt.*;
/*
/**
* Menu de démarrage du jeu du pendu.
* Permet de choisir la difficulté (facile, moyen ou difficile).
*/
@@ -14,7 +14,7 @@ public class MenuUI {
* Interface graphique de la page d'accueil du jeu du pendu.
*/
public void show() {
frame = new JFrame("Jeu du Pendu - Sélection de la difficulté");
frame = new JFrame("Jeu du Pendu");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);
frame.setLocationRelativeTo(null);
@@ -41,7 +41,7 @@ public class MenuUI {
frame.setVisible(true);
}
/* Lance le jeu avec le niveau choisi */
/** Lance le jeu avec le niveau choisi */
private void startGame(int level) {
frame.dispose(); // ferme le menu
GameUI ui = new GameUI(level);

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -5,11 +5,15 @@
## Fonctionnalités
Affichage dune **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
Messages de victoire / défaite
- Affichage dune **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 **“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 (Facile, Moyen, Difficile)
---

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.