From 9869c9b28985bd8ccbea458b777c9a739c37f420 Mon Sep 17 00:00:00 2001 From: Aissi Jude Christ Date: Wed, 8 Oct 2025 14:17:18 +0200 Subject: [PATCH] branche jude --- PenduJudeChrist/Display.class | Bin 0 -> 1961 bytes PenduJudeChrist/Display.java | 43 +++++ PenduJudeChrist/GameLogic.class | Bin 0 -> 661 bytes PenduJudeChrist/GameLogic.java | 21 +++ PenduJudeChrist/HangedGame.class | Bin 0 -> 2024 bytes PenduJudeChrist/HangedGame.java | 39 ++++ PenduJudeChrist/HangedGameGUI$1.class | Bin 0 -> 529 bytes PenduJudeChrist/HangedGameGUI$2.class | Bin 0 -> 560 bytes PenduJudeChrist/HangedGameGUI$3.class | Bin 0 -> 560 bytes PenduJudeChrist/HangedGameGUI$4.class | Bin 0 -> 424 bytes PenduJudeChrist/HangedGameGUI.class | Bin 0 -> 6698 bytes PenduJudeChrist/HangedGameGUI.java | 248 ++++++++++++++++++++++++++ PenduJudeChrist/InputHandler.class | Bin 0 -> 1141 bytes PenduJudeChrist/InputHandler.java | 32 ++++ PenduJudeChrist/TD3 - DEV5.1.pdf | Bin 0 -> 76994 bytes PenduJudeChrist/WordSelector.class | Bin 0 -> 2316 bytes PenduJudeChrist/WordSelector.java | 33 ++++ 17 files changed, 416 insertions(+) create mode 100644 PenduJudeChrist/Display.class create mode 100644 PenduJudeChrist/Display.java create mode 100644 PenduJudeChrist/GameLogic.class create mode 100644 PenduJudeChrist/GameLogic.java create mode 100644 PenduJudeChrist/HangedGame.class create mode 100644 PenduJudeChrist/HangedGame.java create mode 100644 PenduJudeChrist/HangedGameGUI$1.class create mode 100644 PenduJudeChrist/HangedGameGUI$2.class create mode 100644 PenduJudeChrist/HangedGameGUI$3.class create mode 100644 PenduJudeChrist/HangedGameGUI$4.class create mode 100644 PenduJudeChrist/HangedGameGUI.class create mode 100644 PenduJudeChrist/HangedGameGUI.java create mode 100644 PenduJudeChrist/InputHandler.class create mode 100644 PenduJudeChrist/InputHandler.java create mode 100644 PenduJudeChrist/TD3 - DEV5.1.pdf create mode 100644 PenduJudeChrist/WordSelector.class create mode 100644 PenduJudeChrist/WordSelector.java diff --git a/PenduJudeChrist/Display.class b/PenduJudeChrist/Display.class new file mode 100644 index 0000000000000000000000000000000000000000..36d72c9ea7ffa55ed9758f223b26f49a06aa77d9 GIT binary patch literal 1961 zcmX^0Z`VEs1_pD60xkw|26avb4F*jP1}!cIZ3Z1K23-a{5TVb-V8CF=&0xe}ECf=_ z!C(PWV9CK?#lc`L#K6d43*y^xFxYc2I0!K?F*tEBI14c_GdKw`urRo>Gq|%ecrY@s z*<|Krme?^eFl%UrF*2|?=clAHGVuFk=B4_T<|d^Ug(N2Bq%tya6ldg@hvyfiFfyoU z_+%xPCFlsEGaEY zWn{1>XoL;KM6eys8Hq)S$t9^p)^=c%IYDmm$t+7PW@KR1@bm=P#tjm4%}a4l%uQuv z5XWLZL>*UferZv1s#_+=Q#>x2#RWNum3kom@GwX)NU}3{@-TQYcr!Av`sSA?Sg|ws z@G$r?_^~ti^DqQ31oAKhF$A+SgzzwgGK8@+g!3>&Fhnvk2sq{EmlT&2B^LOmmSp6o z6!Wt&L~$@g^Dx9P#4<84#VhbI#4$)RGO&kbrWPw$DKIjyKbpDp{f<5b4u*J;ssxY% zKSl;lg#gzemrw;o1x5yGg|Ph6Vud{Q#In>Xg@T;YVuh4cg))!{iX04yAZ9 zp3Wiuo9N`gy@QWJBn85xAZW}pf)GO!ka6frW0VhM3jydc>ONh*vCY&ofU z=_MK9B&B(wD zb|NelGBR)^=jW9qX66;6xepQs)|ydV3~3DMj0{YS3XBZmxry1S&iQ%Ci6!BgB^l27 zdBr7(c_m=IC^ka;Va>?E4)%La9wP&r2BSWsCKn@v7$`X+xel&YK*1+fAveE7A+;ni zv&2e)k&!_STaaPXD+tqjcqLr3kODX*6{Uh5nOY1sQB=bdIcT7kvomCX5=0Iog9T8SC*fh3eCO{U%MqHm*f{!vNM1@Rp#=iiDyTD%e1@Viq_Q9ti}GkB^|1It5`r4xoS2gnoLQ1;&CZa| z$e@bhKWuJeWRSzJjzN(@j6s|M1XvgtLB#?CBZCwJ1A{CBBLgD?0|Tqpb_T|c3=9m6 z4AKk?3~XRQHU>@x83tJfCa}`!3``6x3=9mOn;4jcn71*oFx$##ZDU|v#9*u?vyFkx zPFr>d1N%+}4km_~3__b2m}GY`a56A#V_;d%zzx#FwT*$Lg^6+b|I?con6@!+gREl$ zTc-w6$iT(G!NAQR!~iO`co|d~_!vwW1Q~1?xEY)nL>N36L>c557#IW?SpG0@G5%rD zWcT?L7stufr&wZfs;XzK?&-wGzMk{W(EcZZIH!05XVX_Vh{vzd13DOu!(_5 zN_rOqAIO#b29P22KWL z1{J8CO$ guessedLetters) { + System.out.print("Mot :"); + for (int i = 0; i < word.length(); i++) { + char letter = word.charAt(i); + if (guessedLetters.contains(letter)) { + System.out.print(letter + " "); + } + else { + System.out.print("_ "); + } + } + System.out.println(); + } + public static void showLives(int lives, int maxLives) { + System.out.print("Vies : "); + for (int i = 0; i < lives; i++) { + System.out.print("♥︎ "); + } + System.out.println("(" + lives + "/" + maxLives + ")\n"); + } + + public static void showEndGame(String word, int lives, int maxLives){ + + if (lives <= 0) { + System.out.println(" PERDU ! "); + System.out.println(" Vous n'avez plus de vies !"); + System.out.println(" Le mot etait: " + word); + } + else { + System.out.println(" VICTOIRE ! "); + System.out.println(" Le mot était: " + word); + System.out.println(" Vies restantes: " + lives); + } + } +} \ No newline at end of file diff --git a/PenduJudeChrist/GameLogic.class b/PenduJudeChrist/GameLogic.class new file mode 100644 index 0000000000000000000000000000000000000000..38a9f17226e86e9752a917d1fc4fc99cd4d8cfe5 GIT binary patch literal 661 zcmX^0Z`VEs1_pBm4K4l|poS%})$iVNDnV0HUnwykb6q1;flgh}zn^_#5UzFlrnp#|(n!?DSqT!R3 zSeB@tlbDyTA6!zDnU`)25h*Rn%+U`{EwR>&Vr1YAE=f$z_Dw8+8p9c!nVy$eQd*SC z$Y4#-2pforU^|>M5{nX(OHzxh?Z75;1?QI*C8xS&f?UVvo|v2Jlb@cMtOs%x4+94S zCp&{I4}%*am>3vAzGYx!;9_84 zkY!+GU}RumVAa~rz_^itfq{{Mn}LCW4J^pXz{$YFz{|h{RvOE|%)rdRz@W-(E2FiI zfoTzgjJB4{HU{P$3@ketSeY1RF|abPX<=eq{{Ion8U_XiCa_Ur46F8vgF|ac5gLMcnFfs^&SwaAwxRP%G literal 0 HcmV?d00001 diff --git a/PenduJudeChrist/GameLogic.java b/PenduJudeChrist/GameLogic.java new file mode 100644 index 0000000..050af89 --- /dev/null +++ b/PenduJudeChrist/GameLogic.java @@ -0,0 +1,21 @@ +import java.util.Scanner; +import java.util.Random; +import java.util.HashSet; +import java.util.Set; + + + + +public class GameLogic { + + public static boolean isWordGuessed(String word, Set guessedLetters){ + + for (int i = 0; i < word.length(); i++ ) { + if(!guessedLetters.contains(word.charAt(i))) { + return false; + } + } + return true; + } +} + diff --git a/PenduJudeChrist/HangedGame.class b/PenduJudeChrist/HangedGame.class new file mode 100644 index 0000000000000000000000000000000000000000..1ff803a5e35020b5016b7675031916b72f769e8f GIT binary patch literal 2024 zcmX^0Z`VEs1_pD6S}q0&22FMbElvh)1|2R2CI($D20aFSb_N431~!n4AxOrEgTa`K z!Gyt-i@}V+oQuJN!4gDRaWPmk*l;n}GT3o5s4>`cF{m;)fCxt+1_lOK4hA=nDtC~v z9_$RBj0~K_uj0`N!`6;Q44E#Qsd8vM-xk;%-A&E&jsf-LPxrv#1j0|EL(LPy;Wr_MZiFxVz z!6ikRdFj?5jl97niOJc%i3MQw>TQv8MqK;@-T!jgfcS7I%THjm8IsDDx@Ul6)WVVDrBXWDx{Pu6r|>*l(I8~@i2rl zM6feN@-Rd(M6)x*@G!(O#PKl1GbFGxB=RsMF(k7yr0_7LGNkb^q%&lISeZNwSq#~X z3<6I1`6b0AMTrHzsU;ctDaHJ33^^POxjYPc4Ec-<{7(6Kd8rCHsU;;vsS1h;JPZX4 zg**&JAYTfAeF+XY|D>$cYGm{w^cr%MZE^seREiO(?VPsIjq6gwKSh!egMlmw5yJQv@BLgQ$hfii%YB3`NtA?j1$Voilkn~8*OUX$sVr1Yr6B!;zeySCW{SSIo#D4Rs^j_TbdQ($u`<@%D;yu`c`1xAIk%+z89MMehk+{Elu=ls0n#FFsLk_=d}QVepZ zC$dN2?%@W7t7{%O<1;ddBRdJI1`^h+$vOGOsq74;pzKu1$e;pFMqsCB=9T4Vr$UPy zh~;jHpd?$#&QQ(Bz~+;mpIutO$iU+XDnFca5{rvLu{Z3GB7g8GcYj7GB7eQGB7Z(YHep=+z8g7 zz`(%31{P#z;ABu_P=Y9BA(&khDw-`xysk=q&A{RDW- zST-?m3UO^?;1*?>#}KZgyMuve7K1;C<`rcT;Mu{zr>(n#f!~Z(SCn-JgTPJ(K_-T9 z9S~b+8-wsH21!vCmK3llqAa@@L>L&hF>o(u;0Bp03S$0Wr2{cXOnV!HILNt73?S!v zF@S139tLg(UIu;!J_d0Hegmj4XO46N)7D(nnQ> guessedLetters = new HashSet<>(); + int lives = MAX_LIVES; + + System.out.println("Bienvenu dans le jeu du pendu"); + + while ( lives > 0 && !GameLogic.isWordGuessed(word, guessedLetters)) { + Display.showWord(word, guessedLetters); + Display.showLives(lives, MAX_LIVES); + + char letter = InputHandler.getLetter(scanner, guessedLetters); + guessedLetters.add(letter); + + if (!word.contains(String.valueOf(letter))) { + lives = lives -1; + System.out.println("Mauvaise lettre vous avez maintenant " + lives + " vies !"); + + } + else { + System.out.println("Bonne lettre ! "); + } + } + + Display.showEndGame(word, lives, MAX_LIVES); + scanner.close(); + } +} \ No newline at end of file diff --git a/PenduJudeChrist/HangedGameGUI$1.class b/PenduJudeChrist/HangedGameGUI$1.class new file mode 100644 index 0000000000000000000000000000000000000000..b3595d12abc425174f8e04810b2cc13fbf8c6062 GIT binary patch literal 529 zcmX^0Z`VEs1_pBm1x^N522m~sHU=>eAl|poS%{k(w3Q*>Q|bZlv)&$n3R*s z$iP>Sn3-4NoS$2epO>0f!pI<|;ggkEmZ+atUZU?_lvt3FnOtlQGJ-2OzqBYh)h!dG zO$fz$J&+DY27cGP4ju+h z200!EUIsoM26+ZPMh1Qq(^L!@8F)PN@=}YOa}tY-Q;QiHgg_Ql=ogn~=B4X<1tjLB z<}fnwqUd5|-~|OhW@1ie6(~p;8JIOd&gM=jN-PJd%uUQ=P+(wXU}IolU=$DlIfQ|M zfr){Efs=uYfsuimfq_AZfe9?arKP=Pq|~C2#H1XM zNMdqHW`15kYEfE#QEqAqBZIt#PgY`CqJCm|iGFHXYF>%HBUp(mh;0orj4L?5v?w{% zEfZvb5Q;Tn*Y{7#N=+_dWRL|5 zp}W*4v$!NRFSUq~ffvP0Mh2nc)RNKyuunV^^HOqBi;5W;m^DD2;wdP~Pfjf^b}vmW zE@n_*U}0coU}RupU=$Dlxs-u{fr){Efs=uYfsuimfq_AZfe9?arKP=dKCsnuzC)yEewp?7?=^NxxnJR4D1Yj3@i-%V4DOO c1Q{3@SQvyDgc(G@B0>z33=Ck~Ss1_o09@L4O#lD@ literal 0 HcmV?d00001 diff --git a/PenduJudeChrist/HangedGameGUI$3.class b/PenduJudeChrist/HangedGameGUI$3.class new file mode 100644 index 0000000000000000000000000000000000000000..845145119b94c531b2333cdbd4bc9c6b2574f841 GIT binary patch literal 560 zcmX^0Z`VEs1_pBm1x^MQ22m~sRt7OH1|bGPq|~C2#H1XM zNMdqHW`15kYEfE#QEqAqBZIt#PgY`CqJCm|iGFHXYF>%HBUp(mh;0orj4L?5v?w{% zEfZvb5Q;Tn*Y{7#N=+_dWRL|5 zp}W*4v$!NRFSUq~ffvP0Mh2nc)RNKyuunV^^HOqBi;5W;m^DD2;wdP~Pfjf^b}vmW zE@n_*U}0coU}RupU=$Dlxs-u{fr){Efs=uYfsuimfq_AZfe9?arKP=&cXl&0Au5KW&i*H literal 0 HcmV?d00001 diff --git a/PenduJudeChrist/HangedGameGUI$4.class b/PenduJudeChrist/HangedGameGUI$4.class new file mode 100644 index 0000000000000000000000000000000000000000..29378a491da6f184643b43463ec82d483f2155e0 GIT binary patch literal 424 zcmX^0Z`VEs1_pBmNiGIf20?ZPAua|c5G~BkAj-}l#>l{ClbM%UV#mn9tf3jk$iU*9 zpOVVR!0(fpm+DuVo0M77F;b9PGkYHrs@JlT&@yIVO;bCBB;9z9nMbXR1 zz>mULF=1rj@yyFhEppCDEG|whW@Hcm8Lyv{n3t~apOlrFT*Am8gb)fU&C7$hlO;DX zGmnu$Oe5L{Ast*&l$n=qtr^Ckz`(-5%D~9L#=yY9#J~V@3$3j-Jc07Sk~ssI20 literal 0 HcmV?d00001 diff --git a/PenduJudeChrist/HangedGameGUI.class b/PenduJudeChrist/HangedGameGUI.class new file mode 100644 index 0000000000000000000000000000000000000000..e2b213d8b03a88a9863cb0b4b0f5544f5fa3c3ce GIT binary patch literal 6698 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%0Ah70 zAf*{dYzu?>Hii_fZ49X(KSGj>AA>Lh1H)_vK886A;tcZ`v>4_y7&9zjFkx8CV8yVM z!HZ!TLomZ~h7g8T3`q=Y7z!BHGE_0FW9Vhrz%Y$rGs7%~Eexv|wlZvF*v_z(VFx%S z_!(ILFleze%;)^WAkS#Q!N3ISeM16{A(Vj$91CEl&t>4&V&2A(wwyr>t1$H2|Nz;Kv>gW(8+ z0K+i`5r*RoDhwwW>=@27_%U2yNMyLdkjHSBp@`ugLm9&Zuy;5ZnC+DQFo-ZRFo6aL zpk8W+hMG65g5AQvwv(ZZkpWu0Zeg%ufqIl>8$%|J=vNjhN2CLgGa>0*i-C)Qf#ER& zJHrzO0fwgxVhqn2kgklJS(y9=ev5c{jv7AAY;Wz^WgBk-H!wCjPhLa$Ykp)chfJr_uDGVk>0M8c3 AiU0rr literal 0 HcmV?d00001 diff --git a/PenduJudeChrist/HangedGameGUI.java b/PenduJudeChrist/HangedGameGUI.java new file mode 100644 index 0000000..5016a6c --- /dev/null +++ b/PenduJudeChrist/HangedGameGUI.java @@ -0,0 +1,248 @@ +import javax.swing.*; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.HashSet; +import java.util.Set; + +public class HangedGameGUI { + private static final int MAX_LIVES = 12; + + private String word; + private Set guessedLetters; + private int lives; + + // Composants de l'interface + private JFrame frame; + private JLabel wordLabel; + private JLabel livesLabel; + private JLabel messageLabel; + private JTextField letterField; + private JButton guessButton; + private JPanel hangmanPanel; + + public HangedGameGUI() { + word = WordSelector.pickRandomWord(); + guessedLetters = new HashSet<>(); + lives = MAX_LIVES; + + initializeGUI(); + } + + private void initializeGUI() { + frame = new JFrame("Jeu du Pendu"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setLayout(new BorderLayout()); + frame.setSize(500, 400); + + // Panel du haut - Affichage du mot et des vies + JPanel topPanel = new JPanel(new GridLayout(3, 1)); + + wordLabel = new JLabel("", JLabel.CENTER); + wordLabel.setFont(new Font("Arial", Font.BOLD, 24)); + updateWordDisplay(); + + livesLabel = new JLabel("Vies: " + lives + "/" + MAX_LIVES, JLabel.CENTER); + livesLabel.setFont(new Font("Arial", Font.PLAIN, 16)); + + messageLabel = new JLabel("Devinez le mot !", JLabel.CENTER); + messageLabel.setFont(new Font("Arial", Font.ITALIC, 14)); + + topPanel.add(wordLabel); + topPanel.add(livesLabel); + topPanel.add(messageLabel); + + // Panel du pendu (visuel simple) + hangmanPanel = new JPanel() { + @Override + protected void paintComponent(Graphics g) { + super.paintComponent(g); + drawHangman(g); + } + }; + hangmanPanel.setPreferredSize(new Dimension(200, 200)); + hangmanPanel.setBackground(Color.WHITE); + + // Panel de saisie + JPanel inputPanel = new JPanel(); + inputPanel.setLayout(new FlowLayout()); + + JLabel inputLabel = new JLabel("Entrez une lettre:"); + letterField = new JTextField(2); + letterField.setFont(new Font("Arial", Font.BOLD, 18)); + + guessButton = new JButton("Deviner"); + + inputPanel.add(inputLabel); + inputPanel.add(letterField); + inputPanel.add(guessButton); + + // Ajout des composants à la fenêtre + frame.add(topPanel, BorderLayout.NORTH); + frame.add(hangmanPanel, BorderLayout.CENTER); + frame.add(inputPanel, BorderLayout.SOUTH); + + // Gestion des événements + setupEventHandlers(); + + frame.setVisible(true); + } + + private void drawHangman(Graphics g) { + int errors = MAX_LIVES - lives; + g.setColor(Color.BLACK); + + // Base + if (errors >= 1) g.drawLine(50, 150, 100, 150); + // Poteau + if (errors >= 2) g.drawLine(75, 150, 75, 50); + // Traverse + if (errors >= 3) g.drawLine(75, 50, 125, 50); + // Corde + if (errors >= 4) g.drawLine(125, 50, 125, 70); + // Tête + if (errors >= 5) g.drawOval(120, 70, 10, 10); + // Corps + if (errors >= 6) g.drawLine(125, 80, 125, 110); + // Bras gauche + if (errors >= 7) g.drawLine(125, 85, 115, 95); + // Bras droit + if (errors >= 8) g.drawLine(125, 85, 135, 95); + // Jambe gauche + if (errors >= 9) g.drawLine(125, 110, 115, 125); + // Jambe droite + if (errors >= 10) g.drawLine(125, 110, 135, 125); + // Visage triste + if (errors >= 11) { + g.drawArc(122, 73, 3, 3, 0, 180); // œil gauche + g.drawArc(127, 73, 3, 3, 0, 180); // œil droit + g.drawArc(122, 78, 6, 3, 0, -180); // bouche + } + } + + private void updateWordDisplay() { + StringBuilder display = new StringBuilder(); + for (int i = 0; i < word.length(); i++) { + char letter = word.charAt(i); + if (guessedLetters.contains(letter)) { + display.append(letter).append(" "); + } else { + display.append("_ "); + } + } + wordLabel.setText(display.toString()); + } + + private void setupEventHandlers() { + // Bouton deviner + guessButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + processGuess(); + } + }); + + // Entrée dans le champ texte + letterField.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + processGuess(); + } + }); + } + + private void processGuess() { + String input = letterField.getText().toLowerCase().trim(); + letterField.setText(""); + + if (input.length() != 1 || !Character.isLetter(input.charAt(0))) { + messageLabel.setText("Veuillez entrer une seule lettre !"); + return; + } + + char letter = input.charAt(0); + + if (guessedLetters.contains(letter)) { + messageLabel.setText("Vous avez déjà essayé cette lettre !"); + return; + } + + guessedLetters.add(letter); + + if (!word.contains(String.valueOf(letter))) { + lives--; + messageLabel.setText("Mauvaise lettre ! Il vous reste " + lives + " vies."); + } else { + messageLabel.setText("Bonne lettre ! Continuez !"); + } + + updateWordDisplay(); + livesLabel.setText("Vies: " + lives + "/" + MAX_LIVES); + hangmanPanel.repaint(); + + checkGameStatus(); + } + + private void checkGameStatus() { + if (lives <= 0) { + endGame(false); + } else if (GameLogic.isWordGuessed(word, guessedLetters)) { + endGame(true); + } + } + + private void endGame(boolean won) { + guessButton.setEnabled(false); + letterField.setEnabled(false); + + if (won) { + messageLabel.setText("VICTOIRE ! Le mot était: " + word); + JOptionPane.showMessageDialog(frame, + "Félicitations ! Vous avez gagné !\n" + + "Le mot était: " + word + "\n" + + "Vies restantes: " + lives, + "Victoire !", + JOptionPane.INFORMATION_MESSAGE); + } else { + messageLabel.setText("PERDU ! Le mot était: " + word); + JOptionPane.showMessageDialog(frame, + "Désolé ! Vous avez perdu !\n" + + "Le mot était: " + word, + "Défaite", + JOptionPane.ERROR_MESSAGE); + } + + // Bouton pour rejouer + int choice = JOptionPane.showConfirmDialog(frame, + "Voulez-vous rejouer ?", + "Nouvelle partie", + JOptionPane.YES_NO_OPTION); + + if (choice == JOptionPane.YES_OPTION) { + restartGame(); + } + } + + private void restartGame() { + word = WordSelector.pickRandomWord(); + guessedLetters.clear(); + lives = MAX_LIVES; + + guessButton.setEnabled(true); + letterField.setEnabled(true); + + updateWordDisplay(); + livesLabel.setText("Vies: " + lives + "/" + MAX_LIVES); + messageLabel.setText("Nouvelle partie - Devinez le mot !"); + hangmanPanel.repaint(); + } + + public static void main(String[] args) { + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + new HangedGameGUI(); + } + }); + } +} \ No newline at end of file diff --git a/PenduJudeChrist/InputHandler.class b/PenduJudeChrist/InputHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..220fab2d52596261c46f70349a9154795334f60a GIT binary patch literal 1141 zcmX^0Z`VEs1_pBmUoHkg1_e$AMFu4f24yY=6$Vu<1}O$LE(S>kbr7KeA~ZpS78ipy zgANCSE=ZLgh@;QVAkARF!C=VFV8qT~%*eoIlbM%UV#mn9tf3jk$iU*9pOVVR!0(fp zm+DuVo0M7n zBZIJOUP)1El|pG=szOd`Nl8(vl>$416%T_ogAEUZErT5ogFT3F01=K1PCN|G3@+>p zt~?BG4DO5!%3-OcnK?PBRSKyfbBe&`6sMNvz)Vw6RN!Io0GZ{<;Kjq>&EUhxpb?f| zTC9**mRhBda(HFd;ROn*#l?x0hgT{jgTfQ)4h2O8Mg|^a_cJmGfPA12_O^dgR%&ty zicoM#QD$B`BZDAV6>?lKGVmgarJ`x8EG|jSWn^H^FD+qY5QPM7X1;zvQD$CAa7j^W zVy-nKgD}_tRAEL2)&h_sMg~!6oPnJNafdZ1^>E~+R+NB}4kLqzh9<;lWHpQo+$H%w z`Q@oa&WXjTj0`L#MVYyb3~V{6dFdq?;56vT$iSAIkyzwd!pOj);R#Ac5VwHMfyX{0 z14m{tEIqPlIBP~RGO&YPmy^fHz+RS^Q=00Z#>gO{;f(AKxPEI!29D(XypqJsyka!} zK!Vy@Gm1fxL4ZM!0R)&B7(oe%fssLkfq_Amfsuicfq{WlYdZtuMg|53Mg~y^1_m~; zAUgvmgBXK20~1*38U`i?76t}}z)cKHLd@G3ShTh=ux?{u+s44|r@M`TgJl5&pDyz@ z2F@J}T(cPXK&rU6G4L$^e+evVt1YvGfp;eZ9}~k&h%7%?c8km!1_lNuu(etYTnr2h zJPaHRybQt&{0wRg0t|W#f((WXq73E?Vhk<};tW0v5)A$fvJ4Uo3=EPCEDV1cR2kSA dB)R@G$TBdqGf1&BNP|2i12z=oJvlH-9snqy56J)k literal 0 HcmV?d00001 diff --git a/PenduJudeChrist/InputHandler.java b/PenduJudeChrist/InputHandler.java new file mode 100644 index 0000000..4236759 --- /dev/null +++ b/PenduJudeChrist/InputHandler.java @@ -0,0 +1,32 @@ +import java.util.Random; +import java.util.HashSet; +import java.util.Set; +import java.util.Scanner; + + +public class InputHandler { + + public static char getLetter(Scanner scanner, Set guessedLetters) { + char letter; + while (true) { + System.out.print("Entrez une lettre: "); + String input = scanner.nextLine().toLowerCase().trim(); + + if (input.length() != 1 || !Character.isLetter(input.charAt(0))) { + System.out.println("Veuillez entrer une seule lettre ! "); + continue; + + } + + letter = input.charAt(0); + if (guessedLetters.contains(letter)) { + System.out.println("Vous avez déjà essayé cette lettre ! "); + continue; + } + + break; + } + return letter; + + } +} \ No newline at end of file diff --git a/PenduJudeChrist/TD3 - DEV5.1.pdf b/PenduJudeChrist/TD3 - DEV5.1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7a69e5a84c59cbaee141c6de0b31d6c715a10bd9 GIT binary patch literal 76994 zcmY!laBHGR9 z7#eWt2Rka16qTl8H`M}RYDi^4s)D{_US56)mws?*QVE#vlbM&zrSGO-!lmz&UzCzs zq!4YOV4z?S%cUQbnp~m~ZD?kwXKrRbr~nE%u(6KGC7JnoT>8NZ`k_IdTp&V0Bcr6Gpx8=ZKfNeFFGVl2v_v;8 zDJM0tR4=VaKQ}cmu{5VdKg7j29u(e&@qwj@IhiG?@s2s^`Jlkm4=yPxO)d#YEK1EQ zQ7|+B0YvawB0TDrnNyNlq@eGXlUS1KlA4^KlFFs;lbV-alA&O3VP;Br-|2u2$f4~0whcAy0hs(b(oZ$Uwxy`>H%h@aBv@JMT7{2^iEbz~j zL7YqM=TH9r_-gr2=Kc2no-+RY9;B-AXX<5U8~cvF|Ff8Cs~9q?KOF9NUhj7?knPJ( z*(QEt7GwT3*A8{x6kxG;-k>u5gnG|vw}{DyLnbaz&Ct`EcDeZhgVM#%Wi44Y4VTRq zSe;=pw6kw`>sZR^-6S$k{=%6Yfkmh1O?xZ<=?U}yz%cbWY#k@B&Zr2Q?PrLukHDdSTUCm{ht`ejdLgX zI3B19B&^#x_i2f#o0waTAeQ&jnV<4 zO*8C1o_et{@yD5-;!_LlyzgwbU=f-ZQJE|idB@K3bkmy-OCj#&>}ztdt}QOR^A~t> zr-d<8a2kDnv@6TAai`#vM^lUaZp!@L`sZbpDA&>nTR)qcm${U9H0}&@zHsN8vHle` z(Qp1r55B7P_4P5{;SH(TI z+vLHuw_oPm?i0VNm!;RfsJStpz4++kh&K0x%x`}loOyJM{du$FIpf)9H(GkxteDZD zf9~tk0FPMX9s72sv&}XQ_A{SWGC}3Ow3~rQpkifO(c2I6Cz(FnRCb8x{M?3Ryvy}w z8Lqye#J<|;qK!_C-_9k)peHco$XRvShnNgZ_7zDr)IM`ZtoXAEU|3!%=dD!H*+MX&;QVvvst$2Tiq>c zLUwX%qzn~p;wNnGc0PDJoqdv#&g+QVTh4{84qGwjuj*Uo8@gTVe@pL;cjNiBqHO;B zy&^pJot4R*OV& z)pUhfOUbxK!?6ALqz7uB9PP|4#WcQ8Jiqy+?fNELMxVWxpFFz$?9jgL?C-S%kKEo= z-IG#M6U%5CdRRoWw{o?xLL+woQ|77PPd+54q~2iXE!w+JuH1Hqlb&+(cIK=Y=S@3e zgw=ezXS1}39_3#i6{5y|vdTlXe?g>%U3O*>r;^UX96oNlIr2v$Dl4s8wz{5Vnew=6 zttBr@@|M`k+$Sg0Rr~+xyVSa1o67`U-Gd8QE><+uZd);pIX�`SU*uIwmD>9Ah_0 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]~afHnZ+P8*|HKrhB7j+=46%?r7|+GmOw&eZLDcIVArxH7A1kSvgKzM zgSD_EXC#&|GO#9RWTxgZGO!oqXBI;oRGgoanwi7Mz>-s%2eKr!Bp)2iED&$7=9MO< zgPoOAnwiSTz*3f)2QnxxH4`jcl3E0^h#71Pb6RRCBLj0{CMcLdE&@rh7DIf*t=Nr@$3!`X97i!%$s zdXh5|^T4iWO-alH1sX>|YGxk98204+QfMHgV=H_l6*!6mbA>ATt)_t zjLhPa{7jJ5tjYO#Ag8eurIvyGn3<9a3W|c%ykZc8IXAxqluj~=5Il!;if@!+_B{5gVSYVULMHVY{k$-$5~JWN}^y}m{UPcXHP6G$=a1Ep&Aw8UI! zyd>skGBU8H6{UiF#9EvWPEl+HiACU;XG_gXO9Ur@)Z~0nJhCO{Bo>3iB{{#e2;`9* zkh>Wf*iur>A->>90S+Pl;79>ZA%WmX0WKlI;79>(A)(+%0UjaY;79>pA(7xn z0X`wo;79>}A+g{{0RbWL;79>MA&KBf0U;sD;79>sA*tX<0TChT;79>cA(`Mv0Wl%j z;79>+A-Uj40SO`b;79>UA%);b0VyHH;79>!A*J9*0U06X;79>kA(h}r0XZSn;79>^ zA+_L00RQA&uZj0VN^L;79>wA+6v@0Tm(b;79>gA)Vkz0W~4r;79>=A-&*8 z0SzJj;79>YA%oyZ0WBfJ;79>&A*0|(0UaUZ;79>oA(P-p0X-qp;79>|A+z8}0RtiP z;79>OA&cNh0V5&H;79>uA*0TUtX;79>eA)DYx0W%@n;79>;A-mv60Sh7f;79>W zA&1~d0V^TL;79>$A*bL-0UIIb;79>mA(!At0Xrer;79>`A-CX20S6)X;79>SA&=ll z0Vg5P;79>yuzD9Eui!`lS0V44NC6Kazu-s#Pa*%{NC7XQfZ#|0 zZ=t~8NC6+Apx{UWU!maONC7{gkl;uGf1%LeNPzΜ566K%wy9NP!@sh~P+pV4=w1 zNP!TcsNhI}P@(AHNP#e+nBYi(aG}`XNP!5UxZp^ENTK-PNP#G!gy2YlXraX5NP!rk zq~J(_SfS+LNP#$^l;B8#c%jtbNPz^QwBSgAM4|NHNP#4wjNnLtWTDL9NP!fgtl&t2 pRH5wPNP#q=oZv`-bfMhfNP!HYyx`3YEa<75gMpEu3X~!lssX5{GLQfO literal 0 HcmV?d00001 diff --git a/PenduJudeChrist/WordSelector.java b/PenduJudeChrist/WordSelector.java new file mode 100644 index 0000000..f0c5053 --- /dev/null +++ b/PenduJudeChrist/WordSelector.java @@ -0,0 +1,33 @@ +import java.util.Scanner; +import java.util.Random; +import java.util.HashSet; +import java.util.Set; + +public class WordSelector { + + private static final String[] WORDS = { + "java", "python", "programmation", "ordinateur", "clavier", + "souris", "ecran", "internet", "logiciel", "algorithme", + "maison", "jardin", "livre", "table", "chaise", "porte", + "fenetre", "lampe", "bureau", "stylo", "crayon", "papier", + "fleur", "arbre", "oiseau", "chat", "chien", "poisson", + "soleil", "lune", "etoile", "ciel", "nuage", "pluie", + "vent", "neige", "terre", "eau", "feu", "air", "pierre", + "sable", "route", "ville", "rue", "voiture", "velo", + "train", "avion", "bateau", "musique", "chanson", "danse", + "peinture", "couleur", "forme", "image", "photo", "film", + "histoire", "conte", "reve", "idee", "pensee", "mot", + "phrase", "texte", "histoire", "nombre", "chiffre", + "calcul", "probleme", "solution", "question", "reponse", + "temps", "heure", "minute", "seconde", "jour", "nuit", + "matin", "soir", "semaine", "mois", "annee", "saison", + "printemps", "ete", "automne", "hiver", "famille", "ami", + "frere", "soeur", "parent", "enfant", "ecole", "classe", + "cours", "lecon", "devoir", "travail", "repos", "jeu" + }; + + public static String pickRandomWord(){ + Random random = new Random(); + return WORDS[random.nextInt(WORDS.length)]; + } +} \ No newline at end of file