forked from menault/TD3_DEV51_Qualite_Algo
		
	Part 1 finis
This commit is contained in:
		
							
								
								
									
										50
									
								
								Letter.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								Letter.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,50 @@ | ||||
| import java.util.*; | ||||
|  | ||||
| public class Letter { | ||||
|     public String wordToFind; | ||||
|     public char selectedLetter; | ||||
|     public StringBuilder wordBuilding; | ||||
|     public StringBuilder incorrectLetters = new StringBuilder(); | ||||
|  | ||||
|     // Constructeur | ||||
|     public Letter(String mot) { | ||||
|         this.wordToFind = mot; | ||||
|         this.wordBuilding = new StringBuilder(); | ||||
|         // Initialise le mot caché avec des underscores | ||||
|         for (int i = 0; i < mot.length(); i++) { | ||||
|             if (mot.charAt(i) == ' ') { | ||||
|                 this.wordBuilding.append(' '); // garde les espaces | ||||
|             } else { | ||||
|                 this.wordBuilding.append('_'); | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     // Setter pour la lettre sélectionnée | ||||
|     public void setLetter(char currentLetter) { | ||||
|         this.selectedLetter = currentLetter; | ||||
|     } | ||||
|  | ||||
|     // Vérifie si la lettre est dans le mot | ||||
|     public boolean letterInWord() { | ||||
|         boolean found = false; | ||||
|  | ||||
|         for (int i = 0; i < this.wordToFind.length(); i++) { | ||||
|             if (this.selectedLetter == this.wordToFind.charAt(i)) { | ||||
|                 // Remplace l'underscore par la lettre correcte | ||||
|                 this.wordBuilding.setCharAt(i, this.selectedLetter); | ||||
|                 found = true; | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         // Si la lettre n'est pas trouvée, on l'ajoute aux incorrectes | ||||
|         if (!found) { | ||||
|             if (this.incorrectLetters.length() > 0) { | ||||
|                 this.incorrectLetters.append(" "); | ||||
|             } | ||||
|             this.incorrectLetters.append(this.selectedLetter); | ||||
|         } | ||||
|  | ||||
|         return found; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										22
									
								
								enter_word.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								enter_word.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| import java.util.Scanner; | ||||
|  | ||||
| public class enter_word { | ||||
|  | ||||
|     public static char getLetter() { | ||||
|         Scanner scanner = new Scanner(System.in); | ||||
|         char letter = ' '; | ||||
|  | ||||
|         while (true) { | ||||
|             System.out.print("Mets UNE (genre 1) lettre frero: "); | ||||
|             String input = scanner.nextLine().toLowerCase(); | ||||
|             if (input.length() == 1 && Character.isLetter(input.charAt(0))) { | ||||
|                 letter = input.charAt(0); | ||||
|                 break; | ||||
|             } else { | ||||
|                 System.out.println("Frero ? 1 lettre, comment tu as pu rater ça , Quel singe"); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         return letter; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										123
									
								
								main.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										123
									
								
								main.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,123 @@ | ||||
| import java.util.Scanner; | ||||
|  | ||||
| public class main { | ||||
|     public String word = word_search.getRandomWord(); | ||||
|     public Letter curentLetter = new Letter(word); | ||||
|     public int nbError=0; | ||||
|     public boolean winCondition=false; | ||||
|  | ||||
|     //creer wincondtion (je lis le mot en construction (wordbuilding), compare avec word, si égal c'est gagné) | ||||
|     public boolean winCondition(){ | ||||
|         if(curentLetter.wordBuilding.toString().equals(word)){ | ||||
|             return true; | ||||
|         }else{ | ||||
|             return false; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     public static void displayHangman(int mistakes) { | ||||
|         String[] hangman = new String[7]; // 7 étapes du pendu | ||||
|  | ||||
|         // Étape 0 : début du jeu | ||||
|         hangman[0] = | ||||
|                 "------\n" + | ||||
|                 "|    |\n" + | ||||
|                 "     |\n" + | ||||
|                 "     |\n" + | ||||
|                 "     |\n" + | ||||
|                 "     |\n" + | ||||
|                 "=========\n"; | ||||
|  | ||||
|         // Étape 1 : tête | ||||
|         hangman[1] = | ||||
|                 "------\n" + | ||||
|                 "|    |\n" + | ||||
|                 "O    |\n" + | ||||
|                 "     |\n" + | ||||
|                 "     |\n" + | ||||
|                 "     |\n" + | ||||
|                 "=========\n"; | ||||
|  | ||||
|         // Étape 2 : tronc | ||||
|         hangman[2] = | ||||
|                 "------\n" + | ||||
|                 "|    |\n" + | ||||
|                 "O    |\n" + | ||||
|                 "|    |\n" + | ||||
|                 "     |\n" + | ||||
|                 "     |\n" + | ||||
|                 "=========\n"; | ||||
|  | ||||
|         // Étape 3 : un bras | ||||
|         hangman[3] = | ||||
|                 "------\n" + | ||||
|                 "|    |\n" + | ||||
|                 "O    |\n" + | ||||
|                 "/|   |\n" + | ||||
|                 "     |\n" + | ||||
|                 "     |\n" + | ||||
|                 "=========\n"; | ||||
|  | ||||
|         // Étape 4 : deux bras | ||||
|         hangman[4] = | ||||
|                 "------\n" + | ||||
|                 "|    |\n" + | ||||
|                 "O    |\n" + | ||||
|                 "/|\\  |\n" + | ||||
|                 "     |\n" + | ||||
|                 "     |\n" + | ||||
|                 "=========\n"; | ||||
|  | ||||
|         // Étape 5 : une jambe | ||||
|         hangman[5] = | ||||
|                 "------\n" + | ||||
|                 "|    |\n" + | ||||
|                 "O    |\n" + | ||||
|                 "/|\\  |\n" + | ||||
|                 "/    |\n" + | ||||
|                 "     |\n" + | ||||
|                 "=========\n"; | ||||
|  | ||||
|         // Étape 6 : pendu complet (défaite) | ||||
|         hangman[6] = | ||||
|                 "------\n" + | ||||
|                 "|    |\n" + | ||||
|                 "O    |\n" + | ||||
|                 "/|\\  |\n" + | ||||
|                 "/ \\  |\n" + | ||||
|                 "     |\n" + | ||||
|                 "=========\n"; | ||||
|  | ||||
|         // Affiche le pendu correspondant au nombre d’erreurs | ||||
|         System.out.println(hangman[mistakes]); | ||||
|     } | ||||
|  | ||||
|     public void showGame(){ | ||||
|         System.out.println("lettre fausse : " + this.curentLetter.incorrectLetters); | ||||
|         displayHangman(nbError); | ||||
|         System.out.println("mot a trouver " + this.curentLetter.wordBuilding); | ||||
|     } | ||||
|  | ||||
|     public void game(){ | ||||
|         while(nbError<6 && !winCondition()){ | ||||
|             char letter = enter_word.getLetter(); | ||||
|             this.curentLetter.setLetter(letter); | ||||
|             if (!this.curentLetter.letterInWord()){ | ||||
|                 nbError++; | ||||
|             } | ||||
|             showGame();             | ||||
|         } | ||||
|         if (winCondition()){ | ||||
|             System.out.println("victoir (celui qui a écris a 5 de QI)"); | ||||
|         } | ||||
|         else{ | ||||
|             System.out.println("ta perdu sale étron"); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     public static void main(String[] args) { | ||||
|        main test =new main(); | ||||
|         test.game(); | ||||
|  | ||||
|        } | ||||
| } | ||||
							
								
								
									
										18
									
								
								word_search.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								word_search.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| import java.util.Random; | ||||
|  | ||||
| public class word_search { | ||||
|  | ||||
|     // Liste des mots | ||||
|     private static String[] WORDS = { | ||||
|         "singe", "google", "frapper", "haine", "dio", "java", | ||||
|         "felix vimalaratnam", "lebreton", "argent", "pauvre", "grocaillou" | ||||
|     }; | ||||
|  | ||||
|     /** | ||||
|      * Retourne un mot aléatoire du tableau WORDS | ||||
|      */ | ||||
|     public static String getRandomWord() { | ||||
|         Random random = new Random(); | ||||
|         return WORDS[random.nextInt(WORDS.length)]; | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user