From fd393bfc85fed11174edc51a6629a613c1cfc2a5 Mon Sep 17 00:00:00 2001 From: ducreux Date: Wed, 8 Oct 2025 11:57:29 +0200 Subject: [PATCH 1/2] front + assets --- Jeu_pendu/Front/Gallows.java | 62 +++++++++++++++++ Jeu_pendu/Front/GameUI.java | 123 ++++++++++++++++++++++++++++++++++ Jeu_pendu/Front/main | 1 - Jeu_pendu/assets/images/0.png | Bin 0 -> 3014 bytes Jeu_pendu/assets/images/1.png | Bin 0 -> 3020 bytes Jeu_pendu/assets/images/2.png | Bin 0 -> 2911 bytes Jeu_pendu/assets/images/3.png | Bin 0 -> 3474 bytes Jeu_pendu/assets/images/4.png | Bin 0 -> 3842 bytes Jeu_pendu/assets/images/5.png | Bin 0 -> 4039 bytes Jeu_pendu/assets/images/6.png | Bin 0 -> 4420 bytes 10 files changed, 185 insertions(+), 1 deletion(-) create mode 100644 Jeu_pendu/Front/Gallows.java create mode 100644 Jeu_pendu/Front/GameUI.java delete mode 100644 Jeu_pendu/Front/main create mode 100644 Jeu_pendu/assets/images/0.png create mode 100644 Jeu_pendu/assets/images/1.png create mode 100644 Jeu_pendu/assets/images/2.png create mode 100644 Jeu_pendu/assets/images/3.png create mode 100644 Jeu_pendu/assets/images/4.png create mode 100644 Jeu_pendu/assets/images/5.png create mode 100644 Jeu_pendu/assets/images/6.png diff --git a/Jeu_pendu/Front/Gallows.java b/Jeu_pendu/Front/Gallows.java new file mode 100644 index 0000000..9c9368f --- /dev/null +++ b/Jeu_pendu/Front/Gallows.java @@ -0,0 +1,62 @@ +package front; + +import javax.swing.*; +import java.awt.*; +import java.io.File; + +/** + * Gère les images du pendu (une par étape). + * - Charge les images depuis assets + */ +public class Gallows { + /** Dossier d'assets relatif à la racine du projet */ + private static final String ASSETS_DIR = "assets" + File.separator + "images"; + /** Nombre d'étapes (0 = aucun membre, 7 = étape finale) */ + private static final int MAX_STAGE = 6; + + private static final ImageIcon[] ICONS = new ImageIcon[MAX_STAGE + 1]; + + static { + for (int i = 0; i <= MAX_STAGE; i++) { + String path = ASSETS_DIR + File.separator + i + ".png"; + File f = new File(path); + if (f.exists()) { + ICONS[i] = new ImageIcon(path); + } else { + // Placeholder si fichier manquant + ICONS[i] = placeholder("Missing: " + i + ".png"); + } + } + } + + /** + * Retourne l'icône correspondant au nombre d'erreurs. + */ + public static ImageIcon icon(int errors) { + int idx = Math.max(0, Math.min(errors, MAX_STAGE)); + return ICONS[idx]; + } + + /** + * Crée une petite image placeholder (si un asset est manquant). + */ + private static ImageIcon placeholder(String text) { + int w = 320, h = 240; + Image img = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB); + Graphics2D g = (Graphics2D) img.getGraphics(); + g.setColor(Color.LIGHT_GRAY); + g.fillRect(0, 0, w, h); + g.setColor(Color.DARK_GRAY); + g.drawRect(0, 0, w - 1, h - 1); + g.drawString(text, 10, h / 2); + g.dispose(); + return new ImageIcon(img); + } + + // Import manquant pour BufferedImage + private static class BufferedImage extends java.awt.image.BufferedImage { + public BufferedImage(int width, int height, int imageType) { + super(width, height, imageType); + } + } +} \ No newline at end of file diff --git a/Jeu_pendu/Front/GameUI.java b/Jeu_pendu/Front/GameUI.java new file mode 100644 index 0000000..2764d5e --- /dev/null +++ b/Jeu_pendu/Front/GameUI.java @@ -0,0 +1,123 @@ +package front; + +import back.*; +import javax.swing.*; +import java.awt.*; +import java.awt.event.ActionEvent; + +/** + * Interface graphique (Swing) du jeu du pendu. + * - Affiche une image différente à chaque erreur. + * - Champ de saisie pour entrer une lettre. + * - Texte pour le mot masqué et les lettres essayées. + */ +public class GameUI { + private JFrame frame; + private JLabel imgLabel; + private JLabel wordLabel; + private JLabel triedLabel; + private JTextField input; + private JButton tryBtn; + private JButton newGameBtn; + + private Game game; + private String currentWord; + + /** Affiche la fenêtre principale */ + public void show() { + setupUI(); + startNewGame(); + frame.setVisible(true); + } + + /** Initialise les composants Swing */ + private void setupUI() { + frame = new JFrame("Jeu du Pendu"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setSize(520, 520); + frame.setLocationRelativeTo(null); + frame.setLayout(new BorderLayout(12, 12)); + + // Image du pendu + imgLabel = new JLabel("", SwingConstants.CENTER); + frame.add(imgLabel, BorderLayout.CENTER); + + // Panneau bas: saisie + actions + JPanel bottom = new JPanel(new BorderLayout(8, 8)); + JPanel inputPanel = new JPanel(new FlowLayout(FlowLayout.LEFT)); + input = new JTextField(5); + tryBtn = new JButton("Essayer"); + inputPanel.add(new JLabel("Lettre :")); + inputPanel.add(input); + inputPanel.add(tryBtn); + + newGameBtn = new JButton("Nouvelle partie"); + bottom.add(inputPanel, BorderLayout.WEST); + bottom.add(newGameBtn, BorderLayout.EAST); + frame.add(bottom, BorderLayout.SOUTH); + + // Panneau haut: mot + lettres essayées + JPanel top = new JPanel(); + top.setLayout(new BoxLayout(top, BoxLayout.Y_AXIS)); + wordLabel = new JLabel("Mot : "); + triedLabel = new JLabel("Lettres essayées : "); + wordLabel.setBorder(BorderFactory.createEmptyBorder(8, 8, 8, 8)); + triedLabel.setBorder(BorderFactory.createEmptyBorder(0, 8, 8, 8)); + top.add(wordLabel); + top.add(triedLabel); + frame.add(top, BorderLayout.NORTH); + + // Actions + tryBtn.addActionListener(this::onTry); + input.addActionListener(this::onTry); + newGameBtn.addActionListener(e -> startNewGame()); + } + + /** Démarre une nouvelle partie */ + private void startNewGame() { + currentWord = Words.random(); + game = new Game(currentWord, 7); + input.setText(""); + input.requestFocusInWindow(); + refreshUI(); + } + + /** Gère le clic sur "Essayer" ou Entrée dans le champ */ + private void onTry(ActionEvent e) { + String text = input.getText(); + if (!Check.isLetter(text)) { + JOptionPane.showMessageDialog(frame, "Tape une seule lettre (A-Z)."); + input.requestFocusInWindow(); + input.selectAll(); + return; + } + char c = Character.toLowerCase(text.charAt(0)); + Result res = game.play(c); + + switch (res) { + case ALREADY -> JOptionPane.showMessageDialog(frame, "Lettre déjà utilisée."); + case HIT -> {} // rien, rafraîchissement visuel suffit + case MISS -> {} // idem + } + + input.setText(""); + refreshUI(); + + if (game.isWin()) { + refreshUI(); + JOptionPane.showMessageDialog(frame, "Bravo ! Le mot était : " + currentWord); + } else if (game.isLose()) { + refreshUI(); + JOptionPane.showMessageDialog(frame, "Perdu ! Le mot était : " + currentWord); + } + } + + /** Met à jour l'image et les textes selon l'état courant */ + private void refreshUI() { + imgLabel.setIcon(Gallows.icon(game.getErrors())); + wordLabel.setText("Mot : " + game.maskedWord()); + triedLabel.setText("Lettres essayées : " + String.join(", ", game.triedLetters())); + frame.repaint(); + } +} + diff --git a/Jeu_pendu/Front/main b/Jeu_pendu/Front/main deleted file mode 100644 index bdf6855..0000000 --- a/Jeu_pendu/Front/main +++ /dev/null @@ -1 +0,0 @@ -blablabla \ No newline at end of file diff --git a/Jeu_pendu/assets/images/0.png b/Jeu_pendu/assets/images/0.png new file mode 100644 index 0000000000000000000000000000000000000000..9d63d5f247f6296778b7515ff226fdd5a2242725 GIT binary patch literal 3014 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 JF6*2UngCo4z#ISo literal 0 HcmV?d00001 diff --git a/Jeu_pendu/assets/images/1.png b/Jeu_pendu/assets/images/1.png new file mode 100644 index 0000000000000000000000000000000000000000..0fc756350684af21adfa7cd76a7e32e397325675 GIT binary patch literal 3020 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 Pz`)??>gTe~DWM4f&8jH^ literal 0 HcmV?d00001 diff --git a/Jeu_pendu/assets/images/5.png b/Jeu_pendu/assets/images/5.png new file mode 100644 index 0000000000000000000000000000000000000000..023025e4a651fc4713420568add0b3bf23689000 GIT binary patch literal 4039 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 ph2R_xzZL-}4n-*OX~7?+*5&aYp; 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 S!6F6*1_n=8KbLh*2~7Z2T)mb6 literal 0 HcmV?d00001 From 7679f1f35bf6fca801807489c11c977047b1e62a Mon Sep 17 00:00:00 2001 From: ducreux Date: Wed, 8 Oct 2025 12:02:13 +0200 Subject: [PATCH 2/2] main --- Jeu_pendu/Main/Main.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 Jeu_pendu/Main/Main.java diff --git a/Jeu_pendu/Main/Main.java b/Jeu_pendu/Main/Main.java new file mode 100644 index 0000000..42ac4ae --- /dev/null +++ b/Jeu_pendu/Main/Main.java @@ -0,0 +1,17 @@ +package main; + +import front.GameUI; + +/** + * Point d'entrée du programme. + * Lance l'interface graphique du jeu du pendu. + */ +public class Main { + public static void main(String[] args) { + // Démarre l'UI Swing sur le thread de l'EDT + javax.swing.SwingUtilities.invokeLater(() -> { + GameUI ui = new GameUI(); + ui.show(); + }); + } +} \ No newline at end of file