forked from menault/TD3_DEV51_Qualite_Algo
Compare commits
3 Commits
d074170b0f
...
df3186be0e
| Author | SHA1 | Date | |
|---|---|---|---|
| df3186be0e | |||
| 31f3b5c998 | |||
| 5d1126e8fe |
BIN
Letter.class
Normal file
BIN
Letter.class
Normal file
Binary file not shown.
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
TD3 - DEV5.1.pdf
BIN
TD3 - DEV5.1.pdf
Binary file not shown.
BIN
enter_word.class
Normal file
BIN
enter_word.class
Normal file
Binary file not shown.
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;
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
main.class
Normal file
BIN
main.class
Normal file
Binary file not shown.
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");
|
||||||
|
System.out.println(" le bon mot était : " + this.word);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
main test =new main();
|
||||||
|
test.game();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
word_search.class
Normal file
BIN
word_search.class
Normal file
Binary file not shown.
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