forked from menault/TD3_DEV51_Qualite_Algo
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8b421b3cba | |||
| 15a280ad2c | |||
| 4b7d0c7753 | |||
| 2fe044753a | |||
| 2dc9caee23 | |||
| cc14043782 |
@@ -127,4 +127,4 @@ public class Words {
|
|||||||
}
|
}
|
||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -10,9 +10,9 @@ import java.util.List;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Interface graphique du pendu avec niveaux :
|
* Interface graphique du pendu avec niveaux :
|
||||||
* - 1 : mots < 8 lettres
|
* - facile : mots < 8 lettres
|
||||||
* - 2 : mots ≥ 8 lettres
|
* - moyen : mots ≥ 8 lettres
|
||||||
* - 3 : deux mots (score + chrono cumulés)
|
* - difficile : deux mots (score + chrono cumulés)
|
||||||
* Boutons : Essayer / Nouvelle partie / Menu / Quitter.
|
* Boutons : Essayer / Nouvelle partie / Menu / Quitter.
|
||||||
* (Toutes les méthodes ≤ 50 lignes)
|
* (Toutes les méthodes ≤ 50 lignes)
|
||||||
*/
|
*/
|
||||||
@@ -29,11 +29,11 @@ public class GameUI {
|
|||||||
private String currentWord = "";
|
private String currentWord = "";
|
||||||
private Timer timer;
|
private Timer timer;
|
||||||
|
|
||||||
// Cumul de session (niveau 3)
|
// Cumul de session (niveau difficile)
|
||||||
private long sessionStartNano = -1L;
|
private long sessionStartNano = -1L;
|
||||||
private int sessionScore = 0;
|
private int sessionScore = 0;
|
||||||
|
|
||||||
/** Reçoit la difficulté (1, 2, 3). */
|
/** Reçoit la difficulté (facile, moyen, difficile). */
|
||||||
public GameUI(int level) {
|
public GameUI(int level) {
|
||||||
this.level = level;
|
this.level = level;
|
||||||
}
|
}
|
||||||
@@ -88,9 +88,17 @@ public class GameUI {
|
|||||||
scoreLabel = new JLabel("Score : 0");
|
scoreLabel = new JLabel("Score : 0");
|
||||||
timeLabel = new JLabel("Temps : 0s");
|
timeLabel = new JLabel("Temps : 0s");
|
||||||
|
|
||||||
JPanel top = new JPanel(new GridLayout(2, 1));
|
JLabel titleLabel = new JLabel("Sauver Michel!!", SwingConstants.CENTER);
|
||||||
top.add(buildTopLine(wordLabel, scoreLabel));
|
titleLabel.setFont(new Font("Arial", Font.BOLD, 22));
|
||||||
top.add(buildTopLine(triedLabel, timeLabel));
|
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);
|
frame.add(top, BorderLayout.NORTH);
|
||||||
|
|
||||||
JPanel bottom = new JPanel(new BorderLayout(8, 8));
|
JPanel bottom = new JPanel(new BorderLayout(8, 8));
|
||||||
@@ -223,4 +231,4 @@ public class GameUI {
|
|||||||
private void showMsg(String msg) {
|
private void showMsg(String msg) {
|
||||||
JOptionPane.showMessageDialog(frame, msg);
|
JOptionPane.showMessageDialog(frame, msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3,7 +3,7 @@ package front;
|
|||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* Menu de démarrage du jeu du pendu.
|
* Menu de démarrage du jeu du pendu.
|
||||||
* Permet de choisir la difficulté (facile, moyen ou difficile).
|
* 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.
|
* Interface graphique de la page d'accueil du jeu du pendu.
|
||||||
*/
|
*/
|
||||||
public void show() {
|
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.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||||
frame.setSize(400, 300);
|
frame.setSize(400, 300);
|
||||||
frame.setLocationRelativeTo(null);
|
frame.setLocationRelativeTo(null);
|
||||||
@@ -41,7 +41,7 @@ public class MenuUI {
|
|||||||
frame.setVisible(true);
|
frame.setVisible(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Lance le jeu avec le niveau choisi */
|
/** Lance le jeu avec le niveau choisi */
|
||||||
private void startGame(int level) {
|
private void startGame(int level) {
|
||||||
frame.dispose(); // ferme le menu
|
frame.dispose(); // ferme le menu
|
||||||
GameUI ui = new GameUI(level);
|
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.
Binary file not shown.
14
README.md
14
README.md
@@ -5,11 +5,15 @@
|
|||||||
|
|
||||||
## Fonctionnalités
|
## Fonctionnalités
|
||||||
|
|
||||||
Affichage d’une **image différente du pendu** à chaque erreur
|
- Affichage d’une **image différente du pendu** à chaque erreur
|
||||||
Lecture de mots depuis un **fichier externe** (`bibliothèque/mots.txt`)
|
- Lecture de mots depuis un **fichier externe** (`bibliothèque/mots.txt`)
|
||||||
Validation des entrées (une seule LETTRE à la fois)
|
- 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
|
||||||
Messages de victoire / défaite
|
- 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.
Binary file not shown.
Reference in New Issue
Block a user