1 Commits

Author SHA1 Message Date
1b75adf5e6 marche 2025-10-08 17:56:27 +02:00
2 changed files with 185 additions and 56 deletions

178
main a push sur le merge Normal file
View File

@@ -0,0 +1,178 @@
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 derreurs
System.out.println(hangman[mistakes]);
}
//Element toujours présent
public void showGame(){
System.out.println("lettre fausse : " + this.curentLetter.incorrectLetters);
displayHangman(nbError);
System.out.println("mot a trouver " + this.curentLetter.wordBuilding);
}
//Permet au jeu de fonctionner et de se terminer
public void game(){
while(nbError<6 && !winCondition()){
char letter = enter_word.getLetter();
this.curentLetter.setLetter(letter);
if (!this.curentLetter.letterInWord()){
nbError++;
}
showGame();
}
if (winCondition()){
// tu gagnes
System.out.println("victoir (celui qui a écris a 5 de QI)");
}
else{ //tu perds
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();
}
}
//----------------------------------------------------------------------
import java.util.concurrent.*;
public class Compteur {
private int valeur = 0;
private ScheduledExecutorService scheduler;
// Démarre le compteur
public void start() {
if (scheduler != null && !scheduler.isShutdown()) {
return; // déjà lancé
}
scheduler = Executors.newScheduledThreadPool(1);
scheduler.scheduleAtFixedRate(() -> {
valeur++;
System.out.println("temps : " + valeur);
}, 0, 1, TimeUnit.SECONDS);
}
public int getValeur(){
return valeur;
}
// Arrête le compteur
public void stop() {
if (scheduler != null) {
scheduler.shutdown();
System.out.println("Compteur arrêté.");
}
}
}

View File

@@ -1,60 +1,11 @@
import java.util.*;
import java.util.Scanner;
public class main {
public String word; // mot courant
public Letter curentLetter; // gestion lettres
public int nbError = 0; // erreurs
public boolean winCondition = false;
public String word = word_search.getRandomWord();
public Letter curentLetter = new Letter(word);
public int nbError=0;
public boolean winCondition=false;
// Stockage des mots par difficulté
public String easyWord;
public String mediumWord;
public String hardWord1;
public String hardWord2;
public main() {
// ---------------------------------------------------
// 1⃣ Récupération des mots aléatoires pour chaque difficulté
// ---------------------------------------------------
ArrayList<String> allWords = new ArrayList<>();
allWords.add(word_search.getRandomWord()); // exemple simple
allWords.add(word_search.getRandomWord());
allWords.add(word_search.getRandomWord());
allWords.add(word_search.getRandomWord());
// Trier par longueur pour facile/moyen
for (String w : allWords) {
if (w.length() < 8 && easyWord == null) easyWord = w;
else if (w.length() >= 8 && mediumWord == null) mediumWord = w;
else if (hardWord1 == null) hardWord1 = w;
else if (hardWord2 == null) hardWord2 = w;
}
// ---------------------------------------------------
// 2⃣ Choix de la difficulté
// ---------------------------------------------------
Scanner sc = new Scanner(System.in);
System.out.println("Choisis la difficulté : facile / moyen / difficile");
String choice = sc.nextLine().toLowerCase();
switch (choice) {
case "facile":
word = easyWord;
break;
case "moyen":
word = mediumWord;
break;
case "difficile":
// Ici on choisira les 2 mots pour faire deviner
word = hardWord1 + " " + hardWord2;
break;
default:
System.out.println("Difficulté invalide, on prend facile par défaut");
word = easyWord;
}
curentLetter = new Letter(word);
}
//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)){
@@ -63,6 +14,7 @@ public class main {
return false;
}
}
public static void displayHangman(int mistakes) {
String[] hangman = new String[7]; // 7 étapes du pendu
@@ -146,10 +98,9 @@ public class main {
displayHangman(nbError);
System.out.println("mot a trouver " + this.curentLetter.wordBuilding);
}
//Ligne 100
//Permet au jeu de fonctionner et de se terminer
public void game(){
showGame();
while(nbError<6 && !winCondition()){
char letter = enter_word.getLetter();
this.curentLetter.setLetter(letter);