From d8647f43ac27db971c57cb28d5b5962fc894d4bc Mon Sep 17 00:00:00 2001 From: Jannaire Date: Wed, 8 Oct 2025 17:02:53 +0200 Subject: [PATCH 1/2] reparation peut etre --- Jeu_pendu/Back/Words.java | 182 +++++++++++------- Jeu_pendu/Front/GameUI.java | 130 +++++++------ Jeu_pendu/out/back/Check.class | Bin 0 -> 494 bytes Jeu_pendu/out/back/Game.class | Bin 0 -> 3744 bytes Jeu_pendu/out/back/Result.class | Bin 0 -> 827 bytes Jeu_pendu/out/back/Words.class | Bin 0 -> 3931 bytes .../out/front/Gallows$BufferedImage.class | Bin 0 -> 315 bytes Jeu_pendu/out/front/Gallows.class | Bin 0 -> 2197 bytes Jeu_pendu/out/front/GameUI$1.class | Bin 0 -> 625 bytes Jeu_pendu/out/front/GameUI.class | Bin 0 -> 6288 bytes Jeu_pendu/out/front/MenuUI.class | Bin 0 -> 2494 bytes Jeu_pendu/out/main/Main.class | Bin 0 -> 956 bytes 12 files changed, 183 insertions(+), 129 deletions(-) create mode 100644 Jeu_pendu/out/back/Check.class create mode 100644 Jeu_pendu/out/back/Game.class create mode 100644 Jeu_pendu/out/back/Result.class create mode 100644 Jeu_pendu/out/back/Words.class create mode 100644 Jeu_pendu/out/front/Gallows$BufferedImage.class create mode 100644 Jeu_pendu/out/front/Gallows.class create mode 100644 Jeu_pendu/out/front/GameUI$1.class create mode 100644 Jeu_pendu/out/front/GameUI.class create mode 100644 Jeu_pendu/out/front/MenuUI.class create mode 100644 Jeu_pendu/out/main/Main.class diff --git a/Jeu_pendu/Back/Words.java b/Jeu_pendu/Back/Words.java index 7632427..8ae5e15 100644 --- a/Jeu_pendu/Back/Words.java +++ b/Jeu_pendu/Back/Words.java @@ -2,95 +2,129 @@ package back; import java.io.IOException; import java.nio.charset.StandardCharsets; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; +import java.nio.file.*; import java.security.SecureRandom; import java.util.ArrayList; +import java.util.Collections; import java.util.List; -import java.util.stream.Stream; /** - * Fournit les mots pour le jeu. - * - Lit d'abord "bibliothèque/mots.txt" (UTF-8), 1 mot par ligne. - * - Ignore les lignes vides et celles qui commencent par '#'. - * - Si le fichier est introuvable ou vide, bascule sur une liste par défaut. + * Gère la bibliothèque de mots (chargement + sélection aléatoire). + * - Lit "bibliothèque/mots.txt" OU "Bibliotheque/mots.txt" (UTF-8), 1 mot par ligne. + * - Ignore lignes vides et commentaires (#...). + * - Fournit des helpers pour tirer des mots selon la difficulté. */ public class Words { - /** Chemin du fichier de mots (relatif à la racine du projet). */ - private static final Path WORDS_PATH = Paths.get("Bibliotheque", "mots.txt"); + /** Chemins possibles (accents/casse) pour maximiser la compatibilité. */ + private static final Path[] CANDIDATES = new Path[] { + Paths.get("bibliothèque", "mots.txt"), + Paths.get("Bibliotheque", "mots.txt") + }; - /** Liste de secours si le fichier n'est pas disponible. */ - private static final List DEFAULT = List.of( - "algorithm", "variable", "function", "interface", "inheritance", - "exception", "compiler", "database", "network", "architecture", - "iteration", "recursion", "encryption", "framework", "protocol" - ); + /** Liste de secours si aucun fichier trouvé/valide. */ + private static final List DEFAULT = new ArrayList<>(); + static { + Collections.addAll(DEFAULT, + "algorithm","variable","function","interface","inheritance", + "exception","compiler","database","network","architecture", + "iteration","recursion","encryption","framework","protocol", + "java","pendu","ordinateur","developpement","interface" + ); + } - /** RNG partagé et cache des mots chargés. */ - private static final SecureRandom RNG = new SecureRandom(); + /** Cache mémoire + RNG. */ private static volatile List CACHE = null; + private static final SecureRandom RNG = new SecureRandom(); - /** - * Retourne un mot choisi au hasard depuis le fichier ou la liste par défaut. - * Déclenche un chargement paresseux (lazy-load) si nécessaire. - */ - public static String random() { - ensureLoaded(); - return CACHE.get(RNG.nextInt(CACHE.size())); - } - - /** - * Recharge les mots depuis le fichier. Utile si modification de mots.txt à chaud. - */ - public static synchronized void reload() { - CACHE = loadFromFileOrDefault(); - } - - /** Garantit que le cache est initialisé. */ - private static void ensureLoaded() { - if (CACHE == null) { - synchronized (Words.class) { - if (CACHE == null) { - CACHE = loadFromFileOrDefault(); - } - } - } - } - - /** Tente de charger depuis le fichier, sinon renvoie la liste par défaut. */ - private static List loadFromFileOrDefault() { - List fromFile = readUtf8Lines(WORDS_PATH); - if (fromFile.isEmpty()) return DEFAULT; - return fromFile; - } - - /** - * Lit toutes les lignes UTF-8 depuis le chemin fourni, - * en filtrant vides et commentaires (# ...). - */ - private static List readUtf8Lines(Path path) { - List result = new ArrayList<>(); - try (Stream lines = Files.lines(path, StandardCharsets.UTF_8)) { - lines.map(String::trim) - .filter(s -> !s.isEmpty()) - .filter(s -> !s.startsWith("#")) - .forEach(result::add); - } catch (IOException e) { - // Silencieux : on basculera sur DEFAULT - } - return result; - } - - /* Retourne la liste complète des mots disponibles */ + /** Renvoie la liste complète (copie) — charge une seule fois si nécessaire. */ public static List all() { ensureLoaded(); return new ArrayList<>(CACHE); } - /* Petit utilitaire pour afficher un mot masqué dans les messages */ - public static String hiddenWord(Game g) { - return g.maskedWord().replace(' ', '_'); + /** Renvoie un mot aléatoire dans tout le dictionnaire. */ + public static String random() { + ensureLoaded(); + return CACHE.get(RNG.nextInt(CACHE.size())); } -} \ No newline at end of file + + /** Renvoie un mot aléatoire de moins de 8 lettres (sinon bascule sur random()). */ + public static String randomShortWord() { + ensureLoaded(); + List list = new ArrayList<>(); + for (String w : CACHE) if (w.length() < 8) list.add(w); + if (list.isEmpty()) return random(); + return list.get(RNG.nextInt(list.size())); + } + + /** Renvoie un mot aléatoire de 8 lettres ou plus (sinon bascule sur random()). */ + public static String randomLongWord() { + ensureLoaded(); + List list = new ArrayList<>(); + for (String w : CACHE) if (w.length() >= 8) list.add(w); + if (list.isEmpty()) return random(); + return list.get(RNG.nextInt(list.size())); + } + + /** Renvoie une paire [court, long] pour le niveau difficile. */ + public static List randomPair() { + List pair = new ArrayList<>(2); + pair.add(randomShortWord()); + pair.add(randomLongWord()); + return pair; + } + + /** Force le rechargement du fichier (au cas où le contenu change en cours d’exécution). */ + public static synchronized void reload() { + CACHE = loadFromFileOrDefault(); + } + + // -------------------- internes -------------------- + + /** Charge le cache si nécessaire (thread-safe). */ + private static void ensureLoaded() { + if (CACHE == null) { + synchronized (Words.class) { + if (CACHE == null) CACHE = loadFromFileOrDefault(); + } + } + } + + /** Tente chaque chemin candidat, sinon retourne DEFAULT mélangé. */ + private static List loadFromFileOrDefault() { + List data = readFirstExistingCandidate(); + if (data.isEmpty()) { + data = new ArrayList<>(DEFAULT); + } + Collections.shuffle(data, RNG); // casse tout déterminisme initial + return data; + } + + /** Lit le premier fichier existant parmi les candidats. */ + private static List readFirstExistingCandidate() { + for (Path p : CANDIDATES) { + List list = readUtf8Trimmed(p); + if (!list.isEmpty()) return list; + } + return new ArrayList<>(); + } + + /** Lit un fichier UTF-8, filtre vides/commentaires, force lowercase. */ + private static List readUtf8Trimmed(Path path) { + List out = new ArrayList<>(); + try { + List lines = Files.readAllLines(path, StandardCharsets.UTF_8); + for (String raw : lines) { + if (raw == null) continue; + String s = raw.trim().toLowerCase(); + if (s.isEmpty() || s.startsWith("#")) continue; + // On accepte lettres/accentuées + tiret (simple et robuste) + if (s.matches("[a-zàâçéèêëîïôûùüÿñæœ-]+")) out.add(s); + } + } catch (IOException ignored) { + // on tombera sur DEFAULT + } + return out; + } +} diff --git a/Jeu_pendu/Front/GameUI.java b/Jeu_pendu/Front/GameUI.java index 211598f..5337347 100644 --- a/Jeu_pendu/Front/GameUI.java +++ b/Jeu_pendu/Front/GameUI.java @@ -9,64 +9,67 @@ import java.util.ArrayList; import java.util.List; /** - * Interface graphique du jeu du pendu avec gestion des difficultés. - * - Niveau 1 : mots de moins de 8 lettres - * - Niveau 2 : mots de 8 lettres ou plus - * - Niveau 3 : deux mots à deviner à la suite (un court + un long) - * Toutes les méthodes ≤ 50 lignes. + * Interface graphique du pendu avec niveaux : + * - 1 : mots < 8 lettres + * - 2 : mots ≥ 8 lettres + * - 3 : deux mots (score + chrono cumulés) + * Boutons : Essayer / Nouvelle partie / Menu / Quitter. + * (Toutes les méthodes ≤ 50 lignes) */ public class GameUI { private JFrame frame; private JLabel imgLabel, wordLabel, triedLabel, scoreLabel, timeLabel; private JTextField input; - private JButton tryBtn, quitBtn, menuBtn; + private JButton tryBtn, newBtn, menuBtn, quitBtn; private Game game; private List words; private int index = 0; - private int level; + private final int level; private String currentWord = ""; private Timer timer; - /** Constructeur : reçoit la difficulté (1, 2 ou 3) */ + // Cumul de session (niveau 3) + private long sessionStartNano = -1L; + private int sessionScore = 0; + + /** Reçoit la difficulté (1, 2, 3). */ public GameUI(int level) { this.level = level; } - /** Affiche la fenêtre et lance la partie (ou séquence) */ + /** Affiche la fenêtre et lance la session. */ public void show() { setupWindow(); setupLayout(); setupActions(); - prepareWords(); - startRound(); + startNewSession(); frame.setVisible(true); } - /** Prépare la liste des mots selon la difficulté choisie */ - private void prepareWords() { - words = new ArrayList(); - List all = Words.all(); - - if (level == 1) { // mots courts - for (String w : all) if (w.length() < 8) words.add(w); - } else if (level == 2) { // mots longs - for (String w : all) if (w.length() >= 8) words.add(w); - } else if (level == 3) { // un court + un long - String shortW = null, longW = null; - for (String w : all) { - if (shortW == null && w.length() < 8) shortW = w; - if (longW == null && w.length() >= 8) longW = w; - if (shortW != null && longW != null) break; - } - if (shortW != null) words.add(shortW); - if (longW != null) words.add(longW); - } - - if (words.isEmpty()) words.add(Words.random()); + /** Démarre une nouvelle session (nouveaux mots, reset chrono/score session). */ + private void startNewSession() { + sessionStartNano = System.nanoTime(); + sessionScore = 0; + index = 0; + prepareWords(); + startRound(); } - /** Crée la fenêtre principale */ + /** Prépare la liste des mots selon le niveau (aléatoire géré dans Words). */ + private void prepareWords() { + words = new ArrayList<>(); + if (level == 1) { + words.add(Words.randomShortWord()); + } else if (level == 2) { + words.add(Words.randomLongWord()); + } else if (level == 3) { + words = Words.randomPair(); // [court, long] aléatoires + } + if (words.isEmpty()) words.add(Words.random()); // filet de sécurité + } + + /** Fenêtre principale. */ private void setupWindow() { frame = new JFrame("Jeu du Pendu"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); @@ -75,7 +78,7 @@ public class GameUI { frame.setLayout(new BorderLayout(12, 12)); } - /** Construit la mise en page et les composants */ + /** Layout + composants. */ private void setupLayout() { imgLabel = new JLabel("", SwingConstants.CENTER); frame.add(imgLabel, BorderLayout.CENTER); @@ -90,14 +93,15 @@ public class GameUI { top.add(buildTopLine(triedLabel, timeLabel)); frame.add(top, BorderLayout.NORTH); - // --- Bas : boutons + saisie JPanel bottom = new JPanel(new BorderLayout(8, 8)); JPanel inputPanel = new JPanel(new FlowLayout(FlowLayout.LEFT)); input = new JTextField(5); tryBtn = new JButton("Essayer"); + newBtn = new JButton("Nouvelle partie"); inputPanel.add(new JLabel("Lettre :")); inputPanel.add(input); inputPanel.add(tryBtn); + inputPanel.add(newBtn); JPanel actionPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT)); menuBtn = new JButton("Menu"); @@ -110,7 +114,7 @@ public class GameUI { frame.add(bottom, BorderLayout.SOUTH); } - /** Construit une ligne (label gauche + espace + label droit) */ + /** Ligne d’infos (gauche/droite). */ private JPanel buildTopLine(JLabel left, JLabel right) { JPanel p = new JPanel(new FlowLayout(FlowLayout.LEFT)); p.add(left); @@ -119,16 +123,17 @@ public class GameUI { return p; } - /** Branche les actions + timer */ + /** Actions + timer. */ private void setupActions() { tryBtn.addActionListener(this::onTry); input.addActionListener(this::onTry); - quitBtn.addActionListener(e -> frame.dispose()); + newBtn.addActionListener(e -> startNewSession()); menuBtn.addActionListener(e -> returnToMenu()); + quitBtn.addActionListener(e -> frame.dispose()); timer = new Timer(1000, e -> refreshStatsOnly()); } - /** Retour au menu principal */ + /** Retour vers le menu de sélection. */ private void returnToMenu() { timer.stop(); frame.dispose(); @@ -136,11 +141,12 @@ public class GameUI { menu.show(); } - /** Démarre un nouveau mot (ou termine au niveau 3) */ + /** Démarre un nouveau mot (ou termine la session si plus de mots). */ private void startRound() { if (index >= words.size()) { - showMsg("🎉 Niveau terminé !"); - frame.dispose(); + int total = (level == 3) ? sessionScore : game.getScore(); + long secs = (level == 3) ? getSessionSeconds() : game.getElapsedSeconds(); + showMsg("Niveau terminé !\nScore total : " + total + "\nTemps : " + secs + "s"); return; } currentWord = words.get(index++); @@ -151,7 +157,7 @@ public class GameUI { refreshUI(); } - /** Tente une lettre (clic bouton ou Entrée) */ + /** Tente une lettre (bouton/Entrée). */ private void onTry(ActionEvent e) { String text = input.getText(); if (!Check.isLetter(text)) { @@ -167,24 +173,28 @@ public class GameUI { checkEnd(); } - /** Vérifie la fin du mot et enchaîne si besoin (niveau 3) */ + /** Fin du mot → affiche popup et enchaîne (lvl 3 cumule score/chrono). */ private void checkEnd() { if (!(game.isWin() || game.isLose())) return; - timer.stop(); game.end(game.isWin()); - String verdict = game.isWin() ? "Bravo !" : "Perdu !"; - String msg = verdict + " Le mot était : " + currentWord - + "\nScore : " + game.getScore() - + "\nTemps : " + game.getElapsedSeconds() + "s"; - showMsg(msg); + int displayScore = (level == 3) ? sessionScore + game.getScore() : game.getScore(); + long displaySecs = (level == 3) ? getSessionSeconds() : game.getElapsedSeconds(); + + showMsg((game.isWin() ? "Bravo !" : "Perdu !") + + " Le mot était : " + currentWord + + "\nScore : " + displayScore + + "\nTemps : " + displaySecs + "s"); if (level == 3 && index < words.size()) { + sessionScore += game.getScore(); startRound(); + } else { + timer.stop(); } } - /** Rafraîchit image + textes + stats */ + /** Refresh complet. */ private void refreshUI() { imgLabel.setIcon(Gallows.icon(game.getErrors())); wordLabel.setText("Mot : " + game.maskedWord()); @@ -193,13 +203,23 @@ public class GameUI { frame.repaint(); } - /** Rafraîchit uniquement score + chrono */ + /** Refresh stats (score/chrono). */ private void refreshStatsOnly() { - scoreLabel.setText("Score : " + game.getScore()); - timeLabel.setText("Temps : " + game.getElapsedSeconds() + "s"); + int s = (level == 3) ? sessionScore + game.getScore() : game.getScore(); + long t = (level == 3) ? getSessionSeconds() : game.getElapsedSeconds(); + scoreLabel.setText("Score : " + s); + timeLabel.setText("Temps : " + t + "s"); } - /** Affiche un message */ + /** Secondes écoulées depuis le début de la session (niveau 3). */ + private long getSessionSeconds() { + long now = System.nanoTime(); + long delta = now - sessionStartNano; + if (delta < 0) delta = 0; + return delta / 1_000_000_000L; + } + + /** Popup info. */ private void showMsg(String msg) { JOptionPane.showMessageDialog(frame, msg); } diff --git a/Jeu_pendu/out/back/Check.class b/Jeu_pendu/out/back/Check.class new file mode 100644 index 0000000000000000000000000000000000000000..95b07da470d7a2b29d8b4bde724c666a1f25b9d1 GIT binary patch literal 494 zcmX^0Z`VEs1_pBmWiAGG1|cp6egAp#;qxfsM4#Mv1n*cl`l8Q5$x^D;~97#Wx~ zG{YDfSe)}yQW+WeeKPY>{YrC_Qj0?D9{_N=+_75rSCH z$iPxkl$p!OAflm(={80Nww%--4P{_rU}9ikP|-Thz{Y&Q()EK&iZb)ktr;2Elkv$N}Gi=~t*vPPnhha0wEe;I!j10nHeP9nb78NB{f&v=k zw=Ike0#5n)CB-F0i3Pr?B^miC#r$jxTLl=l@v|~)7hu@I!?2TK7Z1a3hCMtCdl~le zFzg38<^aP%n4w_Dz>_t|e}~u^4)ZV^VK~ae5DD`85r$)o44mLJ1`1e41_7{Zz#9FN zvcMUN4=eBLjCyzE6I6YLRmyDAggEA6!{n zlA6oNz>$}jmmiXu3rhGJ&YI4Q4D4lzIi;!oX^adKpez8k4(uejU#uA!c)`M8X9cI0 zFfwo?=jW9qX66+$GKeDQIEXi_L1~{G>`_Q&Vq{=<^a*lxbctkS;6=-2%!w%}j126V zc`2zCAXk7Aq9-E*vxjF0BLj=CXK*kh16xjNUV2FeBLiDhtugX$Yd2tkvHH6sH@Nj^k~kwFsb1F-j;^K)`ilS?x5^Q<+)xEPKz zoM2>7hbjOE3)G89nI9^m=?N;MPcky-A}dFPB9ab-AgCx{PtMORNCXvd5-3^S87vHn zacf2fmg4-P5)8M3^nn$Cb8{vX9?!hI)FS7c z#Ny)AVn&8D$iWRY50ZsF67y1WQj1j}8m*Ch1c`cN5fqIfl?AEfNkXi|uNOHSq1HMl z=HvutmZX9zP-toh$p_^~BsU``8g_;&j0~z6!HCV{!yp7I;8FN?4EA6-2Po|brJWd@!Qw7pnwx=mpFxU2ib0-1o?gCG;bOa}H%3_=?aV!})e z;aXc5xMj96h|FeC*V@9s0#OW>5a8OzAgZ;EL2M=ihZf5=2JuY{5*xGxenUhhL88oH zQK=2!-~hQ;kAa(kfkB&rl|hF=l0lC_ok5?$h{1rtfx(c$jlq~9h{1#*jKPc{hQXX6 zgTaEqn}LCWlY!+AgCwH`vmgT_gAao*)FTHNm>F0Y7#MPQGe}2nXOQt>wv_=nb{m82 zB8D&!OJ*B`oSp0r2KiYGJle9`7!<;nGbn>RA&c-aT!KqmAReRyW(G^jA_gvP0R@m) z3lrn=|4X&EF(@K@0ttIN1`Y;$22lnF1~~>t20aER26qN$20sQDh9m}ih71Nbun$BT z*#0tbu`@_B{$WsNlwkYCApDDgm4Ojdw?loC4~-UcW*cdc+rhrj2C<~KG054<>|l_e z$sh`HJR}ALnHXjCxawcLb(iGh)Ufk9Af3xkr@76zV$4D2k+8CaMR#946?dA8MGJ~4lrn2vFJ#$>|oH@ z$)L-`5Wf8X106)HKztv=0BSplGsH2-GsH7^G9-YVEy%$1k3o%{Ary?lelaLP^L97` zBSQpMudtzeC5?d*)Q*ArI+lS2>=jL|EexETQ|2*nff&mf*mf}RI>>8nVc<)3QskU6 zhk=#TNl}DBFLy0GnuNe#K6T+%pk~6!XU~}%Am|p#$e1)&S1+>33dw$0~41K0~4qj z3Ux&|12Y2?0|SGq^c)6Wt;j75N-POm8I(XQHt7UVv9*PPZ4LtmxCld728oqg1{Q{T z20n&H1__2H1{H>8m?eCo49pDi;GjuhILE-iz{SAGaE9R$!&wGNhE@g!1|9}RhBgLf KhIWPyhE4z-L}-Zs literal 0 HcmV?d00001 diff --git a/Jeu_pendu/out/back/Result.class b/Jeu_pendu/out/back/Result.class new file mode 100644 index 0000000000000000000000000000000000000000..33ddf159df608a9aabbe4ed419868ae765334c73 GIT binary patch literal 827 zcmX^0Z`VEs1_pBm15O4O24yY=6$Vvy1`&1!H7*7|26Ygj!NI`K#lXU#0aBsK!5|2t zwKy1rK(sbHgAOADvxjF0BLlBbQetwpeo$(0X-WhsB17I179?nTDG#poYK@{Mg{>5O>{XH=lqmZMh1SL%)C^;(%hufqL9R-oK!{z zcCaS@G)4wR4WF#UvPAuy#JqI<;F6-uymV_#bSrE!^D;~97#YN{DE8D0V`ShA&P>ls zEGaEYWn^I10EuweB_N47v<@j11gJ!NkKL$)L}}Ak84d!@$oVz{4O2B7_(O7#a9LS|L6H*~iGhnw*oL zm&(W>qM?c87XPHI)MQX_n<9J5IVZ8W*cwS0JWxAIPPX(i4$u@V4ls+_I> literal 0 HcmV?d00001 diff --git a/Jeu_pendu/out/back/Words.class b/Jeu_pendu/out/back/Words.class new file mode 100644 index 0000000000000000000000000000000000000000..cf6b8bbf8ceb86bf14135674138037d8f1ea984c GIT binary patch literal 3931 zcmX^0Z`VEs1_pD6dt40W43S(6Tntg13|tJ+AR>mF!G|H1i@}s34#bLQXGj1kNMvV7 z0!b%>I4K~RR1i0fogtlzfuA9glOcm4lZzpXAzO%nfuWF_A&{X+h=Gxz48$rIVqjt@ z<6@{}s1jmeW~c*+)q{uzc7{eS1{sDXc7|pSh88Xc4u)0`k;=i)#=+3e#n8df$-&UY z!O+dY(8Iyd%fZmc!O+jaFoA<%A_v1H4u;7b3{yB5rgAV$<6xN1!7u~lu$k-(vq0{T zWM`Po$iNluALJ4oAK)0`!N?%ula*MOsGpaaub-Bgld2z(SdwAQ$iVL6>gE{g6T-+K z08vm{l9{9LlUZD1&B(wRoSB}NSW;S)%E+LCCT#=Z=OpH(>j#$gN`<>$I(=A`-;xum8gmgbZ&G6=zpMR=Z_VGbjM z8iqIyU-K5FCZ>dzq*;KRUJTL*aVBbLL*0&S$y|1Zd5jEJ8pJ5aVYgULVs27Oq6&%= zR16szM4_f4hm~d&BLj8~28;|GHpw~A2;mCOFD*(=1%(qR9px9L6zhS~4-bPQgA)&f z2Z(TBu;yW~W3cC8n9s0)hhZVZA|8gt3`-ap1VAeFk*wum@M7?0WZ+6lOwQI12N}l0 zV8LL?!{Eo@&%>~kVHppD6@xV+gD_YlID8z7iV`b9$&j64IS<1MhL!9Lt9TezGpu1` z5OB)RFDWi5N-XeAEy>7FDduNmSS!G=j-Qoby#T`o9)^t!n|K&DGi(uH*vikwuuXs= zgoj}}!ww#XoeaD9*%)@SGwk7E*vqg^fMFj$C&PXLh66kd2N@3WFdSw$!ozTs!3pLP zuopryit@`r>5zxv7{hUxRA#=ur@w1Oa%w?IW_}(c1EVqz!wH5EMg|_I%%q&m{F02+ z!qQYm29DhPl48A*iV}8)lc3-^#mK;!n3JAglv$FI%gDe{mROVtGMtftBds(q8Dbb` zW?o5ZQCebhDkB4TW?n{WQD#YE9*D=8im;L+IX|}`Gbgo(k%1#6u_Q4mu{f2Hfjuv^ zq&&YUn~{Mhu_!qsvm`Ycl7TrhOHzvxp%xT@GGsB>emvQm>v7#aA$>cO!IibzHVA+P{So?v7U2MdB# z6_*sHCgy@llhnjqMh2GR%&Jsy+29HGRz-Myp$WKem)$e@qxMo`+fMs^iE{G9Xiic51-i$Li$Ex*V$F*ySi7Lf1)I}lST$R5_@ zoP1DL=S@sW2`()tC`v6Z232h^@%JQ>Q^?ktgn{R4KVp?KyNq$i!BLjCXg2&EqhmnEJCqF;C zw1AO;$1^W4wa7UqvA7tNAKoOUX$sR)J`=#`GwX2#Us#%7Rp6<-|)u zti-Pu8obE7f51T{t(Y%~J{`wj-q%?!*4 zJ0Thj7}yvL8Mr_V7N~||1}3mkN}Cv%k2A;#aYcF`0y8-wCTJaA&cNZLby$1?$36ayOr1A{388-p1GH-kBYAcF;iID-{~B7+TsCj$cmKLhh0 z261)*PdPcurv5TnSqsofgx)*1ApXp1_2+f zO$>rN7=(Ovb}=ZnLdwBA7*sYha0~E5_^QE?EJA9* zk*q@M!I5l28o`n5LYl#m970;bkpgT&+QE?m>_R%hkpdh-y1|hGoI-lRkpf&o`oWO` z+(HJykpetIhQW~nyh297kpg@|#=$!nOg1y{?Pf5I+|FROnSq57B~J)3urM$%h%pE< zNHP>KC@@qpC^9fJgo8sPg5f#?0|OTWBg0jO+YHwjBpGrT7#Oq|SQv5{m>KdI@)-)i UtYU@|hEgc20?Mjps9~rD0D|P{QUCw| literal 0 HcmV?d00001 diff --git a/Jeu_pendu/out/front/Gallows$BufferedImage.class b/Jeu_pendu/out/front/Gallows$BufferedImage.class new file mode 100644 index 0000000000000000000000000000000000000000..523522f5cdc1ad6e98ccd52b8c04b712830ef0c6 GIT binary patch literal 315 zcmX^0Z`VEs1_pBmAua}H1|D_>UUminMg}&U%)HDJJ4OaJ4Np%`%`ip=7U%qwR7M7V zpUk{eztY^K)S{5Yq?}Yn2Cm@z(xT*4w@eU+$2~D8C%?Q{FDtPuk&%JJFSWSDBfq$W zok5U?frWvUkwH4GC_k@6AF58psWdGuwJ0^kGdD3km63rLjnCtmmzP@PoRe5woLbDt zAOkX1Ke4<-KNF;0A5AqcirEYb3``8n3?RVBzzDLPfsuiYfq_AVfrWvEfq{WTOIk*D zI|JiJ1_lO326hGp1}+9B1_lOe26hG;24)5h1_lNu22KVpFwM=t4_3j*z{J4Kz{kJ^ E037K;rvLx| literal 0 HcmV?d00001 diff --git a/Jeu_pendu/out/front/Gallows.class b/Jeu_pendu/out/front/Gallows.class new file mode 100644 index 0000000000000000000000000000000000000000..a93d73deefd8f8dafaabc7ccd98a10d63f231ca1 GIT binary patch literal 2197 zcmX^0Z`VEs1_pD6RxSov1~YaBb1nu821^iO#mT_LV9m~8!^ObHV9Ui|$6(LS;K0e? z$l%1qz{%hYB3wXRR}jk$M7Vgw0%By~L#XmiEXiPGV9w3VV`N~}@buL5 z1o09p7#Y|!JUu-@$pWGp6b9h5!^ps$o>~G64n_u14M@bIgpxJP5|B3M{G9wEMg}e) zPj`=yc=sU3NJa($NcwW?1g#-{V^7H}F32xVWn@6M66{ZFkd>UpsRfBei6!|( zTnse~wTukBpiEj)%$Nzvy2XqP;<<_0sm}R%$%!T5nI##pj9ARbpoYa#Xh5NRbduPi@16GGHi*k1>D?MRh@nO}C+6e?XO^T| zvoo|XGN@vB2%Fm&8RYP*V^CyZVvuEEU|?pD0_9W&1_mhxB?e^%Mg|oI1_mYuRR$>r zH3oGC1_l-eMo`hjz{sG*z`!8Oz{tSJz`($&wVi=+BLf2iBZD@m#0Cp;GjKBKFz7;+ z>M}4hFflMN2r^3vum)cU{GP;W>96|0+j(!tT(GTRtFM|m~5Q8ZL2ZI5FCe)Ez7+4uVwN>mU2H{-{A`A?h z8AJux_c91>W?*HumJ(oF%;2(#L39&?u+%OFF$M;o-3;Q9+S?fi1A`=k4+8^(2m>>NF9RckAD9dTlVJdS C%nRQD literal 0 HcmV?d00001 diff --git a/Jeu_pendu/out/front/GameUI$1.class b/Jeu_pendu/out/front/GameUI$1.class new file mode 100644 index 0000000000000000000000000000000000000000..9d394d7cb012a729bbc496cbbd2f5009b0ab1b90 GIT binary patch literal 625 zcmX^0Z`VEs1_pBmZ7v2e260XX4h9KM1~CRn5Lb$wK^nx70THt7407xY3XBY5D#7KM zCCM4Si3KW2iOJb2L8-;1IVFq?Owpc<3>-GeIhlExC3cJq%o>_uj0`N!`6;Q44E#Qs zd8vM-xk;%-A&E&jsf-M~!6k{w*}jPdP(D|1erZv1s#_*VlG{BoH#O8#FDtPuk&%Jl zH7_|Qzc@25-8Z!)BR_?mL6MPx!!NbC#3R4Bgq=Z&he4S^g@=KQft!axl|hY%L7hQ^ zkwFTiTR$f;FJ0d+Ke#kG!!0v4C&jg>D8Gn@K@+4*i$RT%fiJBnKd(d|Vxx*7BLk0T zUS4XEb53G$acVImg8;%9|D>$czHfI)zPfkBXg zEu5W!mBANIFt9KPGB7YOF$ggTGcYi)Fo-ZPFo=RhL>S~57#O%17#TPi7#J7?H~^sL Bd;b6c literal 0 HcmV?d00001 diff --git a/Jeu_pendu/out/front/GameUI.class b/Jeu_pendu/out/front/GameUI.class new file mode 100644 index 0000000000000000000000000000000000000000..457966a2b284d81d97dbc63ab3514e802a5caedb GIT binary patch literal 6288 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 literal 0 HcmV?d00001 diff --git a/Jeu_pendu/out/main/Main.class b/Jeu_pendu/out/main/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..e1df1b8570771ac824ba7999914662316780a46e GIT binary patch literal 956 zcmX^0Z`VEs1_pBmBQ6FG1|cB^1_p611_=g9b_OXf1{MY(5FyRZAj8fe%gDfHlbM%U zV#mn9tf3jk$iU*9pOVVR!0(fpm+DuVo0M7?UR*QmZ+bT zn3t{}TvC*omu?Nx$eWXxo0O8M0#c@8z{tQAoL^d$oa&Yd(#+|bn3<;s(#ONV$-u?P zAmEgrUs7CBlvv=KT9T2UQq0fBASb}U#m~kd&%>a=pvcak#KWM>pu)(&lU9_USEBEp zn422v$-|%u(#{F8MIU4+BZC0QScr4{ld@8iOSl-+7}U8K*cmh!8JLSo!H(8Ma&%B> zULMF#){G2NAiWj(#pRhG&w$9#lFXdUlFZa%Mh5Q8yt4f4RG-9>)FMU(aSd!nfPBtU zoRMG7&Y;P|pv9oa!@v)6pc2Snh@&8;==*?!$2YYkF)cB3}l9O7j0?}xV%845=(g zMOIF{B*aSmdXa-0YO-@;PEK%UNvbtFgCQe>Dn|HV^A96~9Da2SiVW-w91I}9%)kgr zS`3T~+zbp1vJ8w2j0_A6tXkU{7&kI7FfcOkFfcH%fdx4kI2m{u_@GKvp-MS-F)%SO z>|kIFMVEmIY!L5m2A0U}46NQ-+Zfmo+V~il85kIN88{gD z7(nTPnL&Vofq{uZkU^J$fq{#GkwKe5pFxK~l0le(fq{pCkwJuknL(66j6oCt2tMf@ literal 0 HcmV?d00001 From 01835f841a2f9b89e01728b699d5c23f684e73c7 Mon Sep 17 00:00:00 2001 From: Jannaire Date: Wed, 8 Oct 2025 17:07:11 +0200 Subject: [PATCH 2/2] incroyable --- Jeu_pendu/out/back/Words.class | Bin 3931 -> 3859 bytes Jeu_pendu/out/front/GameUI.class | Bin 6288 -> 8068 bytes Jeu_pendu/out/main/Main.class | Bin 956 -> 956 bytes out/back/Check.class | Bin 0 -> 494 bytes out/back/Game.class | Bin 0 -> 3744 bytes out/back/Result.class | Bin 0 -> 827 bytes out/back/Words.class | Bin 0 -> 3931 bytes out/front/Gallows$BufferedImage.class | Bin 0 -> 315 bytes out/front/Gallows.class | Bin 0 -> 2197 bytes out/front/GameUI$1.class | Bin 0 -> 625 bytes out/front/GameUI.class | Bin 0 -> 6288 bytes out/main/Main.class | Bin 0 -> 956 bytes 12 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 out/back/Check.class create mode 100644 out/back/Game.class create mode 100644 out/back/Result.class create mode 100644 out/back/Words.class create mode 100644 out/front/Gallows$BufferedImage.class create mode 100644 out/front/Gallows.class create mode 100644 out/front/GameUI$1.class create mode 100644 out/front/GameUI.class create mode 100644 out/main/Main.class diff --git a/Jeu_pendu/out/back/Words.class b/Jeu_pendu/out/back/Words.class index cf6b8bbf8ceb86bf14135674138037d8f1ea984c..1762e716dd3c5857553820c7cc66b9facec5c7b1 100644 GIT binary patch literal 3859 zcmX^0Z`VEs1_pD6i(Cv&4C!19;tUz=44Iq^;tW|_49pDKAXW}HLpVb&7lQ*s9*C9C z&QJi7O9ycZxfvoDia>$n)| z85%&WMvzz&Cqpws3l~ExLmSAnb`a44BFZ=zIze<72SYcA?qO%>WoPK)VCd&yn83v_ zkzo=C!($cyRh3@aHKxSSpRTs&PILtKLy8APLfvJ%S@_46|G z_0uwQQuPB8OERn(8Q5K1-5f)GLKqnYAPP!LGIR8OGK)*B85uZ(Gt=`DOG=AU85va2 zq-`MloW#6z{os7 zFC{1RsBwuUaIA<@h$Fx_Y?5=J(Zdy-Us{x$3UW9j z0~g5K#d@IB#KYjj;LF1h!{E!vAPf@F2S<%#QBh(gC<*Z}crv(w6s_f9@M7@hVOYno zo`+!r!$uy4O$?hE83e$3km7-dVGF}n9)@iU+j$svFzn=E*agzCn_&+R!(NbBFhdB) zxP3efp&(Wyh=^kdWMtqjh$gX55ob5gFFn*3@$tji3~~X z42O6a4l^8KXE@5kaE#$N55ozN5hoc!7#SFqc^FPHoMvRuj84?8I=tZUqQlD%uROfs z@T$YB53f7C{_vK=yASU?yyx)#!y6ATJ33i6R-1?63`hgS>zVobp8l>C$*Bb;nfZB) z3_@Vfp~Mj*18-7hQch-mNygz7g{7&C3>>-nCB=Fr6(#HpXF-8-j*)@K392L&tb#K! zCq2I?vm_&zk%6Nuu_zOgB{ z10^$9Sc3&T!S2p4f~81s>I%sy$}fimoFp_)fE7FE=j5b&YLZbofXs{<38CXh+GIJRjxJ&YV^2<|;oWW_FtGFbwsH8YN6BL%BP)op} z2(7okp_rRklAMuRjNw+0BZ?Urtg+~WR;egPA)E{LDM&Y{qDxFkaRk+2I#6T4jz+|e zHL_9A1fUtkpvWN3;Kabdz``H}D#92T7^Fbu8UrJPI|Bm)6N3kX7pR0q;!A!3-f#t1O}VWp^+zZDL^A z#K5+Rfn_HHJ0rt329BK!oJ<)4H`pK^ zMg|}4oeaE;3^N%NwRbY`F@g;A)!D|tFTk;gfm=&wCxZYJL-_LlceHjg2!fQc?_dzx zptXsCO$(bln7~0H#=y$Jz+lF}%wW#I&0xV`&0xvk!C=J@#=yWJz`*jCL4=(loSh*; z`4jnNN#6f^#&!C9Sl-hpnyQOD}jN9A(4TX zA&EhPA%#JnAr)*F2Lt0D1_^eCaCp#gff^vt>;&>DC}kOMVvzRM+GoRTD-smY+cGI?lkh{Qq-FmTe63+ZYtASS4AvF(}UZe^ruINNF2`@=TEQ2}xEVm2C{F zGZ}caC0QW}X!-w5%NbaFwKp&@GH@_tFk~~RF+hS*kAa(kfuWdzgQ1i`fT4^*o1vV+ zn4yBfmZ6d%h@qMxm7#_qgQ1=wo1vB=hoJ%NKUD_yf1s!ghvdIM4ASfjTz?qk*crHf zG6?--U~*z-P-B34JDGulAqAc+KQM5BN-~B6ta};MBbkLXSoSh-MKTL%2Jc|d3XWtE z(nb;3%peU7pUn)Cn;0YoL?Fs_KuUFkBUy#?f+N|4^n)YWg$#ltIfM*@BL&!mjDjNt z*oBOPBLz5wOoAf?IE74uBL%pG%z`5YxP{DvBL#SbEP^8ic!ey3BL(<`tb!v2_=T*4 zBLxJ6Y=R>N1chvaBL#$n?1Cc&goX5jcQDw8Gj3*J+0Eb(xt+mrGXonUKglt$GcYiS kFbFb;GAJ>KF=#SKF&Hz*Fl=N{W!TD~#=yvs3a%H@0C~Td5C8xG literal 3931 zcmX^0Z`VEs1_pD6dt40W43S(6Tntg13|tJ+AR>mF!G|H1i@}s34#bLQXGj1kNMvV7 z0!b%>I4K~RR1i0fogtlzfuA9glOcm4lZzpXAzO%nfuWF_A&{X+h=Gxz48$rIVqjt@ z<6@{}s1jmeW~c*+)q{uzc7{eS1{sDXc7|pSh88Xc4u)0`k;=i)#=+3e#n8df$-&UY z!O+dY(8Iyd%fZmc!O+jaFoA<%A_v1H4u;7b3{yB5rgAV$<6xN1!7u~lu$k-(vq0{T zWM`Po$iNluALJ4oAK)0`!N?%ula*MOsGpaaub-Bgld2z(SdwAQ$iVL6>gE{g6T-+K z08vm{l9{9LlUZD1&B(wRoSB}NSW;S)%E+LCCT#=Z=OpH(>j#$gN`<>$I(=A`-;xum8gmgbZ&G6=zpMR=Z_VGbjM z8iqIyU-K5FCZ>dzq*;KRUJTL*aVBbLL*0&S$y|1Zd5jEJ8pJ5aVYgULVs27Oq6&%= zR16szM4_f4hm~d&BLj8~28;|GHpw~A2;mCOFD*(=1%(qR9px9L6zhS~4-bPQgA)&f z2Z(TBu;yW~W3cC8n9s0)hhZVZA|8gt3`-ap1VAeFk*wum@M7?0WZ+6lOwQI12N}l0 zV8LL?!{Eo@&%>~kVHppD6@xV+gD_YlID8z7iV`b9$&j64IS<1MhL!9Lt9TezGpu1` z5OB)RFDWi5N-XeAEy>7FDduNmSS!G=j-Qoby#T`o9)^t!n|K&DGi(uH*vikwuuXs= zgoj}}!ww#XoeaD9*%)@SGwk7E*vqg^fMFj$C&PXLh66kd2N@3WFdSw$!ozTs!3pLP zuopryit@`r>5zxv7{hUxRA#=ur@w1Oa%w?IW_}(c1EVqz!wH5EMg|_I%%q&m{F02+ z!qQYm29DhPl48A*iV}8)lc3-^#mK;!n3JAglv$FI%gDe{mROVtGMtftBds(q8Dbb` zW?o5ZQCebhDkB4TW?n{WQD#YE9*D=8im;L+IX|}`Gbgo(k%1#6u_Q4mu{f2Hfjuv^ zq&&YUn~{Mhu_!qsvm`Ycl7TrhOHzvxp%xT@GGsB>emvQm>v7#aA$>cO!IibzHVA+P{So?v7U2MdB# z6_*sHCgy@llhnjqMh2GR%&Jsy+29HGRz-Myp$WKem)$e@qxMo`+fMs^iE{G9Xiic51-i$Li$Ex*V$F*ySi7Lf1)I}lST$R5_@ zoP1DL=S@sW2`()tC`v6Z232h^@%JQ>Q^?ktgn{R4KVp?KyNq$i!BLjCXg2&EqhmnEJCqF;C zw1AO;$1^W4wa7UqvA7tNAKoOUX$sR)J`=#`GwX2#Us#%7Rp6<-|)u zti-Pu8obE7f51T{t(Y%~J{`wj-q%?!*4 zJ0Thj7}yvL8Mr_V7N~||1}3mkN}Cv%k2A;#aYcF`0y8-wCTJaA&cNZLby$1?$36ayOr1A{388-p1GH-kBYAcF;iID-{~B7+TsCj$cmKLhh0 z261)*PdPcurv5TnSqsofgx)*1ApXp1_2+f zO$>rN7=(Ovb}=ZnLdwBA7*sYha0~E5_^QE?EJA9* zk*q@M!I5l28o`n5LYl#m970;bkpgT&+QE?m>_R%hkpdh-y1|hGoI-lRkpf&o`oWO` z+(HJykpetIhQW~nyh297kpg@|#=$!nOg1y{?Pf5I+|FROnSq57B~J)3urM$%h%pE< zNHP>KC@@qpC^9fJgo8sPg5f#?0|OTWBg0jO+YHwjBpGrT7#Oq|SQv5{m>KdI@)-)i UtYU@|hEgc20?Mjps9~rD0D|P{QUCw| diff --git a/Jeu_pendu/out/front/GameUI.class b/Jeu_pendu/out/front/GameUI.class index 457966a2b284d81d97dbc63ab3514e802a5caedb..ccdcae1b0666fb56c4c2698e9a3003eacc02bf1f 100644 GIT binary patch literal 8068 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 diff --git a/Jeu_pendu/out/main/Main.class b/Jeu_pendu/out/main/Main.class index e1df1b8570771ac824ba7999914662316780a46e..fff95377a19d6b5833a19f583129f51ddb939b97 100644 GIT binary patch delta 39 vcmdnPzK4CnH5T90ywZ)g%9vQW88{gDCx7Fz_+(Fz`>Fz^nrR>p}@l diff --git a/out/back/Check.class b/out/back/Check.class new file mode 100644 index 0000000000000000000000000000000000000000..95b07da470d7a2b29d8b4bde724c666a1f25b9d1 GIT binary patch literal 494 zcmX^0Z`VEs1_pBmWiAGG1|cp6egAp#;qxfsM4#Mv1n*cl`l8Q5$x^D;~97#Wx~ zG{YDfSe)}yQW+WeeKPY>{YrC_Qj0?D9{_N=+_75rSCH z$iPxkl$p!OAflm(={80Nww%--4P{_rU}9ikP|-Thz{Y&Q()EK&iZb)ktr;2Elkv$N}Gi=~t*vPPnhha0wEe;I!j10nHeP9nb78NB{f&v=k zw=Ike0#5n)CB-F0i3Pr?B^miC#r$jxTLl=l@v|~)7hu@I!?2TK7Z1a3hCMtCdl~le zFzg38<^aP%n4w_Dz>_t|e}~u^4)ZV^VK~ae5DD`85r$)o44mLJ1`1e41_7{Zz#9FN zvcMUN4=eBLjCyzE6I6YLRmyDAggEA6!{n zlA6oNz>$}jmmiXu3rhGJ&YI4Q4D4lzIi;!oX^adKpez8k4(uejU#uA!c)`M8X9cI0 zFfwo?=jW9qX66+$GKeDQIEXi_L1~{G>`_Q&Vq{=<^a*lxbctkS;6=-2%!w%}j126V zc`2zCAXk7Aq9-E*vxjF0BLj=CXK*kh16xjNUV2FeBLiDhtugX$Yd2tkvHH6sH@Nj^k~kwFsb1F-j;^K)`ilS?x5^Q<+)xEPKz zoM2>7hbjOE3)G89nI9^m=?N;MPcky-A}dFPB9ab-AgCx{PtMORNCXvd5-3^S87vHn zacf2fmg4-P5)8M3^nn$Cb8{vX9?!hI)FS7c z#Ny)AVn&8D$iWRY50ZsF67y1WQj1j}8m*Ch1c`cN5fqIfl?AEfNkXi|uNOHSq1HMl z=HvutmZX9zP-toh$p_^~BsU``8g_;&j0~z6!HCV{!yp7I;8FN?4EA6-2Po|brJWd@!Qw7pnwx=mpFxU2ib0-1o?gCG;bOa}H%3_=?aV!})e z;aXc5xMj96h|FeC*V@9s0#OW>5a8OzAgZ;EL2M=ihZf5=2JuY{5*xGxenUhhL88oH zQK=2!-~hQ;kAa(kfkB&rl|hF=l0lC_ok5?$h{1rtfx(c$jlq~9h{1#*jKPc{hQXX6 zgTaEqn}LCWlY!+AgCwH`vmgT_gAao*)FTHNm>F0Y7#MPQGe}2nXOQt>wv_=nb{m82 zB8D&!OJ*B`oSp0r2KiYGJle9`7!<;nGbn>RA&c-aT!KqmAReRyW(G^jA_gvP0R@m) z3lrn=|4X&EF(@K@0ttIN1`Y;$22lnF1~~>t20aER26qN$20sQDh9m}ih71Nbun$BT z*#0tbu`@_B{$WsNlwkYCApDDgm4Ojdw?loC4~-UcW*cdc+rhrj2C<~KG054<>|l_e z$sh`HJR}ALnHXjCxawcLb(iGh)Ufk9Af3xkr@76zV$4D2k+8CaMR#946?dA8MGJ~4lrn2vFJ#$>|oH@ z$)L-`5Wf8X106)HKztv=0BSplGsH2-GsH7^G9-YVEy%$1k3o%{Ary?lelaLP^L97` zBSQpMudtzeC5?d*)Q*ArI+lS2>=jL|EexETQ|2*nff&mf*mf}RI>>8nVc<)3QskU6 zhk=#TNl}DBFLy0GnuNe#K6T+%pk~6!XU~}%Am|p#$e1)&S1+>33dw$0~41K0~4qj z3Ux&|12Y2?0|SGq^c)6Wt;j75N-POm8I(XQHt7UVv9*PPZ4LtmxCld728oqg1{Q{T z20n&H1__2H1{H>8m?eCo49pDi;GjuhILE-iz{SAGaE9R$!&wGNhE@g!1|9}RhBgLf KhIWPyhE4z-L}-Zs literal 0 HcmV?d00001 diff --git a/out/back/Result.class b/out/back/Result.class new file mode 100644 index 0000000000000000000000000000000000000000..33ddf159df608a9aabbe4ed419868ae765334c73 GIT binary patch literal 827 zcmX^0Z`VEs1_pBm15O4O24yY=6$Vvy1`&1!H7*7|26Ygj!NI`K#lXU#0aBsK!5|2t zwKy1rK(sbHgAOADvxjF0BLlBbQetwpeo$(0X-WhsB17I179?nTDG#poYK@{Mg{>5O>{XH=lqmZMh1SL%)C^;(%hufqL9R-oK!{z zcCaS@G)4wR4WF#UvPAuy#JqI<;F6-uymV_#bSrE!^D;~97#YN{DE8D0V`ShA&P>ls zEGaEYWn^I10EuweB_N47v<@j11gJ!NkKL$)L}}Ak84d!@$oVz{4O2B7_(O7#a9LS|L6H*~iGhnw*oL zm&(W>qM?c87XPHI)MQX_n<9J5IVZ8W*cwS0JWxAIPPX(i4$u@V4ls+_I> literal 0 HcmV?d00001 diff --git a/out/back/Words.class b/out/back/Words.class new file mode 100644 index 0000000000000000000000000000000000000000..cf6b8bbf8ceb86bf14135674138037d8f1ea984c GIT binary patch literal 3931 zcmX^0Z`VEs1_pD6dt40W43S(6Tntg13|tJ+AR>mF!G|H1i@}s34#bLQXGj1kNMvV7 z0!b%>I4K~RR1i0fogtlzfuA9glOcm4lZzpXAzO%nfuWF_A&{X+h=Gxz48$rIVqjt@ z<6@{}s1jmeW~c*+)q{uzc7{eS1{sDXc7|pSh88Xc4u)0`k;=i)#=+3e#n8df$-&UY z!O+dY(8Iyd%fZmc!O+jaFoA<%A_v1H4u;7b3{yB5rgAV$<6xN1!7u~lu$k-(vq0{T zWM`Po$iNluALJ4oAK)0`!N?%ula*MOsGpaaub-Bgld2z(SdwAQ$iVL6>gE{g6T-+K z08vm{l9{9LlUZD1&B(wRoSB}NSW;S)%E+LCCT#=Z=OpH(>j#$gN`<>$I(=A`-;xum8gmgbZ&G6=zpMR=Z_VGbjM z8iqIyU-K5FCZ>dzq*;KRUJTL*aVBbLL*0&S$y|1Zd5jEJ8pJ5aVYgULVs27Oq6&%= zR16szM4_f4hm~d&BLj8~28;|GHpw~A2;mCOFD*(=1%(qR9px9L6zhS~4-bPQgA)&f z2Z(TBu;yW~W3cC8n9s0)hhZVZA|8gt3`-ap1VAeFk*wum@M7?0WZ+6lOwQI12N}l0 zV8LL?!{Eo@&%>~kVHppD6@xV+gD_YlID8z7iV`b9$&j64IS<1MhL!9Lt9TezGpu1` z5OB)RFDWi5N-XeAEy>7FDduNmSS!G=j-Qoby#T`o9)^t!n|K&DGi(uH*vikwuuXs= zgoj}}!ww#XoeaD9*%)@SGwk7E*vqg^fMFj$C&PXLh66kd2N@3WFdSw$!ozTs!3pLP zuopryit@`r>5zxv7{hUxRA#=ur@w1Oa%w?IW_}(c1EVqz!wH5EMg|_I%%q&m{F02+ z!qQYm29DhPl48A*iV}8)lc3-^#mK;!n3JAglv$FI%gDe{mROVtGMtftBds(q8Dbb` zW?o5ZQCebhDkB4TW?n{WQD#YE9*D=8im;L+IX|}`Gbgo(k%1#6u_Q4mu{f2Hfjuv^ zq&&YUn~{Mhu_!qsvm`Ycl7TrhOHzvxp%xT@GGsB>emvQm>v7#aA$>cO!IibzHVA+P{So?v7U2MdB# z6_*sHCgy@llhnjqMh2GR%&Jsy+29HGRz-Myp$WKem)$e@qxMo`+fMs^iE{G9Xiic51-i$Li$Ex*V$F*ySi7Lf1)I}lST$R5_@ zoP1DL=S@sW2`()tC`v6Z232h^@%JQ>Q^?ktgn{R4KVp?KyNq$i!BLjCXg2&EqhmnEJCqF;C zw1AO;$1^W4wa7UqvA7tNAKoOUX$sR)J`=#`GwX2#Us#%7Rp6<-|)u zti-Pu8obE7f51T{t(Y%~J{`wj-q%?!*4 zJ0Thj7}yvL8Mr_V7N~||1}3mkN}Cv%k2A;#aYcF`0y8-wCTJaA&cNZLby$1?$36ayOr1A{388-p1GH-kBYAcF;iID-{~B7+TsCj$cmKLhh0 z261)*PdPcurv5TnSqsofgx)*1ApXp1_2+f zO$>rN7=(Ovb}=ZnLdwBA7*sYha0~E5_^QE?EJA9* zk*q@M!I5l28o`n5LYl#m970;bkpgT&+QE?m>_R%hkpdh-y1|hGoI-lRkpf&o`oWO` z+(HJykpetIhQW~nyh297kpg@|#=$!nOg1y{?Pf5I+|FROnSq57B~J)3urM$%h%pE< zNHP>KC@@qpC^9fJgo8sPg5f#?0|OTWBg0jO+YHwjBpGrT7#Oq|SQv5{m>KdI@)-)i UtYU@|hEgc20?Mjps9~rD0D|P{QUCw| literal 0 HcmV?d00001 diff --git a/out/front/Gallows$BufferedImage.class b/out/front/Gallows$BufferedImage.class new file mode 100644 index 0000000000000000000000000000000000000000..523522f5cdc1ad6e98ccd52b8c04b712830ef0c6 GIT binary patch literal 315 zcmX^0Z`VEs1_pBmAua}H1|D_>UUminMg}&U%)HDJJ4OaJ4Np%`%`ip=7U%qwR7M7V zpUk{eztY^K)S{5Yq?}Yn2Cm@z(xT*4w@eU+$2~D8C%?Q{FDtPuk&%JJFSWSDBfq$W zok5U?frWvUkwH4GC_k@6AF58psWdGuwJ0^kGdD3km63rLjnCtmmzP@PoRe5woLbDt zAOkX1Ke4<-KNF;0A5AqcirEYb3``8n3?RVBzzDLPfsuiYfq_AVfrWvEfq{WTOIk*D zI|JiJ1_lO326hGp1}+9B1_lOe26hG;24)5h1_lNu22KVpFwM=t4_3j*z{J4Kz{kJ^ E037K;rvLx| literal 0 HcmV?d00001 diff --git a/out/front/Gallows.class b/out/front/Gallows.class new file mode 100644 index 0000000000000000000000000000000000000000..a93d73deefd8f8dafaabc7ccd98a10d63f231ca1 GIT binary patch literal 2197 zcmX^0Z`VEs1_pD6RxSov1~YaBb1nu821^iO#mT_LV9m~8!^ObHV9Ui|$6(LS;K0e? z$l%1qz{%hYB3wXRR}jk$M7Vgw0%By~L#XmiEXiPGV9w3VV`N~}@buL5 z1o09p7#Y|!JUu-@$pWGp6b9h5!^ps$o>~G64n_u14M@bIgpxJP5|B3M{G9wEMg}e) zPj`=yc=sU3NJa($NcwW?1g#-{V^7H}F32xVWn@6M66{ZFkd>UpsRfBei6!|( zTnse~wTukBpiEj)%$Nzvy2XqP;<<_0sm}R%$%!T5nI##pj9ARbpoYa#Xh5NRbduPi@16GGHi*k1>D?MRh@nO}C+6e?XO^T| zvoo|XGN@vB2%Fm&8RYP*V^CyZVvuEEU|?pD0_9W&1_mhxB?e^%Mg|oI1_mYuRR$>r zH3oGC1_l-eMo`hjz{sG*z`!8Oz{tSJz`($&wVi=+BLf2iBZD@m#0Cp;GjKBKFz7;+ z>M}4hFflMN2r^3vum)cU{GP;W>96|0+j(!tT(GTRtFM|m~5Q8ZL2ZI5FCe)Ez7+4uVwN>mU2H{-{A`A?h z8AJux_c91>W?*HumJ(oF%;2(#L39&?u+%OFF$M;o-3;Q9+S?fi1A`=k4+8^(2m>>NF9RckAD9dTlVJdS C%nRQD literal 0 HcmV?d00001 diff --git a/out/front/GameUI$1.class b/out/front/GameUI$1.class new file mode 100644 index 0000000000000000000000000000000000000000..97c1d2c2dd9c8aad19080ba02812e0355a2d83cb GIT binary patch literal 625 zcmX^0Z`VEs1_pBmZ7v2e260XX4h9KM1~CRn5Lb$wK^nx70THt7407xY3XBY5D#7KM zCCM4Si3KW2iOJb2L8-;1IVFq?Owpc<3>-GeIhlExC3cJq%o>_uj0`N!`6;Q44E#Qs zd8vM-xk;%-A&E&jsf-M~!6k{w*}jPdP(D|1erZv1s#_*VlG{BoH#O8#FDtPuk&%Jl zH7_|Qzc@25-8Z!)BR_?mL6MPx!!NbC#3R4Bgq=Z&he4S^g@=KQft!axl|hY%L7hQ^ zkwFTiTR$f;FJ0d+Ke#kG!!0v4C&jg>D8Gn@K@+4*i$RT%fiJBnKd(d|Vxx*7BLk0T zUS4XEb53G$acVImg8;%9|D>$czHkU@ZffkBXg zEu5W!mBANIFt9KPGB7YOF$ggTGcYi)Fo-ZPFo=RhL>S~57#O%17#TPi7#J7?H~^t4 Bd;kCd literal 0 HcmV?d00001 diff --git a/out/front/GameUI.class b/out/front/GameUI.class new file mode 100644 index 0000000000000000000000000000000000000000..995da7fae2d957ffa0bb87c8c3b2892af344b519 GIT binary patch literal 6288 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 literal 0 HcmV?d00001