diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..c9a06ae --- /dev/null +++ b/Makefile @@ -0,0 +1,27 @@ +# === Configuration === +SRC_DIR = src +OUT_DIR = out +PACKAGE = fr/iut/Projet +MAIN_CLASS = fr.iut.Projet.Random_word + +# === Règle principale === +all: compile run + +# === Compilation === +compile: + @echo "Compilation du projet..." + @mkdir -p $(OUT_DIR) + @javac -d $(OUT_DIR) $(SRC_DIR)/$(PACKAGE)/Random_word.java + @cp $(SRC_DIR)/$(PACKAGE)/Word.txt $(OUT_DIR)/$(PACKAGE)/ + @echo "Compilation terminée." + +# === Exécution === +run: + @echo "Exécution du programme..." + @java -cp $(OUT_DIR) $(MAIN_CLASS) + +# === Nettoyage === +clean: + @echo "Suppression des fichiers compilés..." + @rm -rf $(OUT_DIR) + @echo "Nettoyage terminé." diff --git a/out/fr/iut/Projet/Random_word.class b/out/fr/iut/Projet/Random_word.class new file mode 100644 index 0000000..fc4c7a0 Binary files /dev/null and b/out/fr/iut/Projet/Random_word.class differ diff --git a/out/fr/iut/Projet/Word.txt b/out/fr/iut/Projet/Word.txt new file mode 100644 index 0000000..1446e9a --- /dev/null +++ b/out/fr/iut/Projet/Word.txt @@ -0,0 +1,835 @@ +angle +armoire +banc +bureau +cabinet +carreau +chaise +classe +clef +coin +couloir +dossier +eau +ecole +entrer +escalier +etagere +exterieur +fenetre +interieur +lavabo +lit +marche +matelas +maternelle +meuble +mousse +mur +peluche +placard +plafond +porte +poubelle +radiateur +rampe +rideau +robinet +salle +salon +serrure +serviette +siege +sieste +silence +sol +sommeil +sonnette +sortie +table +tableau +tabouret +tapis +tiroir +toilette +vitre +aller +amener +apporter +appuyer +attendre +bailler +coucher +dormir +eclairer +emmener +emporter +entrer +fermer +frapper +installer +lever +ouvrir +presser +rechauffer +rester +sonner +sortir +venir +absent +assis +bas +haut +present +gauche +droite +debout +dedans +dehors +face +loin +pres +tard +tot +apres +avant +contre +dans +de +derriere +devant +du +sous +sur +crayon +stylo +feutre +mine +gomme +dessin +coloriage +rayure +peinture +pinceau +couleur +craie +papier +feuille +cahier +carnet +carton +ciseaux +decoupage +pliage +pli +colle +affaire +boite +casier +caisse +trousse +cartable +jeu +jouet +pion +domino +puzzle +cube +perle +chose +forme +carre +rond +pate +modeler +tampon +livre +histoire +bibliotheque +image +album +titre +conte +dictionnaire +magazine +catalogue +page +ligne +mot +enveloppe +etiquette +carte +appel +affiche +alphabet +appareil +camescope +cassette +chaine +chanson +chiffre +contraire +difference +doigt +ecran +ecriture +film +fois +foi +idee +instrument +intrus +lettre +liste +magnetoscope +main +micro +modele +musique +nom +nombre +orchestre +ordinateur +photo +point +poster +pouce +prenom +question +radio +sens +tambour +telecommande +telephone +television +trait +trompette +voix +xylophone +zero +chanter +chercher +choisir +chuchoter +coller +colorier +commencer +comparer +compter +construire +continuer +copier +couper +dechirer +decoller +decorer +decouper +demolir +dessiner +dire +discuter +ecouter +ecrire +effacer +entendre +entourer +envoyer +faire +finir +fouiller +gouter +imiter +laisser +lire +mettre +montrer +ouvrir +parler +peindre +plier +poser +prendre +preparer +ranger +reciter +recommencer +regarder +remettre +repeter +repondre +sentir +souligner +tailler +tenir +terminer +toucher +travailler +trier +ami +attention +camarade +colere +copain +coquin +dame +directeur +directrice +droit +effort +eleve +enfant +fatigue +faute +fille +garcon +gardien +madame +maitre +maitresse +mensonge +ordre +personne +retard +joueur +sourire +travail +aider +defendre +desobeir +distribuer +echanger +expliquer +gronder +obeir +obliger +partager +preter +priver +promettre +progres +progresser +punir +quitter +raconter +expliquer +refuser +separer +blond +brun +calme +curieux +different +doux +enerver +gentil +grand +handicape +inseparable +jaloux +moyen +muet +noir +nouveau +petit +poli +propre +roux +sage +sale +serieux +sourd +tranquille +arrosoir +assiette +balle +bateau +boite +bouchon +bouteille +bulles +canard +casserole +cuillere +cuvette +douche +entonnoir +gouttes +litre +moulin +pluie +poisson +pont +pot +roue +sac +plastique +saladier +seau +tablier +tasse +trous +verre +agiter +amuser +arroser +attraper +avancer +baigner +barboter +boucher +bouger +deborder +doucher +eclabousser +essuyer +envoyer +couler +partir +flotter +gonfler +inonder +jouer +laver +melanger +mouiller +nager +pleuvoir +plonger +pousser +pouvoir +presser +recevoir +remplir +renverser +secher +serrer +souffler +tirer +tourner +tremper +verser +vider +vouloir +amusant +chaud +froid +humide +interessant +mouille +sec +transparent +moitie +autant +beaucoup +encore +moins +peu +plus +trop +anorak +arc +bagage +baguette +barbe +bonnet +botte +bouton +bretelle +cagoule +casque +casquette +ceinture +chapeau +chaussette +chausson +chaussure +chemise +cigarette +col +collant +couronne +cravate +culotte +echarpe +epee +fee +fleche +fusil +gant +habit +jean +jupe +lacet +laine +linge +lunettes +magicien +magie +maillot +manche +manteau +mouchoir +moufle +noeud +paire +pantalon +pied +poche +prince +pyjama +reine +robe +roi +ruban +semelle +soldat +sociere +tache +taille +talon +tissu +tricot +uniforme +valise +veste +vetement +changer +chausser +couvrir +deguiser +deshabiller +enlever +habiller +lacer +porter +ressembler +clair +court +etroit +fonce +joli +large +long +multicolore +nu +use +bien +mal +mieux +presque +aiguille +ampoule +avion +bois +bout +bricolage +bruit +cabane +carton +clou +colle +crochet +elastique +ficelle +fil +marionnette +marteau +metal +metre +morceau +moteur +objet +outil +peinture +pinceau +planche +platre +scie +tournevis +vis +voiture +arracher +attacher +casser +coudre +detruire +ecorcher +enfiler +enfoncer +fabriquer +mesurer +percer +pincer +reparer +reussir +servir +taper +trouer +trouver +adroit +difficile +dur +facile +lisse +maladroit +pointu +tordu +accident +aeroport +camion +engin +feu +frein +fusee +garage +gare +grue +helicoptere +moto +panne +parking +pilote +pneu +quai +train +virage +vitesse +voyage +wagon +zigzag +arreter +atterrir +bouder +charger +conduire +demarrer +disparaitre +donner +ecraser +envoler +garder +garer +manquer +partir +poser +reculer +rouler +tendre +transporter +voler +abime +ancien +blanc +bleu +casse +cinq +dernier +deux +deuxieme +dix +gris +gros +huit +jaune +meme +neuf +pareil +premier +quatre +rouge +sept +seul +six +solide +trois +troisieme +un +vert +dessus +autour +vite +vers +acrobate +arret +arriere +barre +barreau +bord +bras +cerceau +chaise +cheville +chute +coeur +corde +corps +cote +cou +coude +cuisse +danger +doigts +dos +echasses +echelle +epaule +equipe +escabeau +fesse +filet +fond +genou +gymnastique +hanche +jambe +jeu +mains +milieu +montagne +mur +escalade +muscle +numero +ongle +parcours +pas +passerelle +pente +peur +pied +plongeoir +poignet +poing +pont +signe +singe +poutre +equilibre +prise +riviere +crocodile +roulade +pirouette +saut +serpent +sport +suivant +tete +toboggan +tour +trampoline +tunnel +ventre +accrocher +appuyer +arriver +baisser +balancer +bondir +bousculer +cogner +courir +danser +depasser +descendre +ecarter +escalader +gagner +gener +glisser +grimper +marcher +pattes +debout +monter +montrer +pencher +percher +perdre +ramper +rater +remplacer +respirer +retourner +revenir +sauter +soulever +suivre +tomber +transpirer +traverser +dangeureux +epais +fort +groupe +immobile +rond +serre +souple +ensemble +ici +jamais +toujours +souvent +bagarre +balancoire +ballon +bande +bicyclette +bille +cage +ecureuil +cerf +volant +chateau +coup +cour +course +echasse +flaque +eau +paix +pardon +partie +pedale +pelle +pompe +preau +raquette +rayon +recreation +sable +sifflet +signe +tas +tricycle +tuyau +velo +file +rang +bagarrer +battre +cacher +cracher +creuser +crier +degonfler +dispute +empecher +galoper +hurler +jongler +lancer +pedaler +plaindre +pleurer +poursuivre +proteger +saigner +salir +siffler +surveiller +trainer +trouver +fou +mechant \ No newline at end of file diff --git a/src/fr/iut/Projet/Random_word.java b/src/fr/iut/Projet/Random_word.java new file mode 100644 index 0000000..46f916b --- /dev/null +++ b/src/fr/iut/Projet/Random_word.java @@ -0,0 +1,105 @@ +package fr.iut.Projet; + +import java.io.*; +import java.util.*; + +public class Random_word { + + public static void main(String[] args) { + String motAleatoire = getRandomWord(); + + if (motAleatoire == null) { + System.err.println("Impossible de choisir un mot aléatoire !"); + return; + } + + jouer(motAleatoire); + } + + public static String getRandomWord() { + InputStream is = Random_word.class.getResourceAsStream("Word.txt"); + + if (is == null) { + System.err.println("File 'Word.txt' not found in the package !"); + return null; + } + + String randomWord = null; + Random random = new Random(); + + try (BufferedReader br = new BufferedReader(new InputStreamReader(is))) { + String line; + int count = 0; + while ((line = br.readLine()) != null) { + line = line.trim(); + if (!line.isEmpty()) { + count++; + if (random.nextInt(count) == 0) { + randomWord = line; + } + } + } + } catch (IOException e) { + System.err.println("Erreur lors de la lecture du fichier : " + e.getMessage()); + } + + return randomWord != null ? randomWord.toLowerCase() : null; + } + + public static void jouer(String Secretword) { + Scanner scanner = new Scanner(System.in); + Set letterGuessed = new HashSet<>(); + Set incorrectletters = new HashSet<>(); + int lives = 8; // nombre d'essais + + char[] Hiddenword = new char[Secretword.length()]; + Arrays.fill(Hiddenword, '_'); + + System.out.println("Bienvenue dans le jeu du mot mystère !"); + System.out.println("Le mot contient " + Secretword.length() + " lettre."); + + while (lives > 0) { + System.out.print("\nMot actuel : "); + for (char c : Hiddenword) { + System.out.print(c + " "); + } + System.out.println(); + System.out.println("lettre incorrectes : " + incorrectletters); + System.out.print("Entrez une lettre : "); + String input = scanner.nextLine().toLowerCase(); + + if (input.length() != 1 || !Character.isLetter(input.charAt(0))) { + System.out.println("Entrez une seule lettre !"); + continue; + } + + char letter = input.charAt(0); + + if (letterGuessed.contains(letter) || incorrectletters.contains(letter)) { + System.out.println("Vous avez déjà essayé cette letter !"); + continue; + } + + if (Secretword.indexOf(letter) >= 0) { + letterGuessed.add(letter); + for (int i = 0; i < Secretword.length(); i++) { + if (Secretword.charAt(i) == letter) { + Hiddenword[i] = letter; + } + } + System.out.println("Bien joué !"); + } else { + incorrectletters.add(letter); + lives--; + System.out.println("Mauvaise lettre ! Il vous reste " + lives + " vies."); + } + + if (String.valueOf(Hiddenword).equals(Secretword)) { + System.out.println("\nFélicitations ! Vous avez trouvé le mot : " + Secretword); + return; + } + } + + System.out.println("\nVous avez perdu ! Le mot était : " + Secretword); + } +} diff --git a/src/fr/iut/Projet/Word.txt b/src/fr/iut/Projet/Word.txt new file mode 100644 index 0000000..1446e9a --- /dev/null +++ b/src/fr/iut/Projet/Word.txt @@ -0,0 +1,835 @@ +angle +armoire +banc +bureau +cabinet +carreau +chaise +classe +clef +coin +couloir +dossier +eau +ecole +entrer +escalier +etagere +exterieur +fenetre +interieur +lavabo +lit +marche +matelas +maternelle +meuble +mousse +mur +peluche +placard +plafond +porte +poubelle +radiateur +rampe +rideau +robinet +salle +salon +serrure +serviette +siege +sieste +silence +sol +sommeil +sonnette +sortie +table +tableau +tabouret +tapis +tiroir +toilette +vitre +aller +amener +apporter +appuyer +attendre +bailler +coucher +dormir +eclairer +emmener +emporter +entrer +fermer +frapper +installer +lever +ouvrir +presser +rechauffer +rester +sonner +sortir +venir +absent +assis +bas +haut +present +gauche +droite +debout +dedans +dehors +face +loin +pres +tard +tot +apres +avant +contre +dans +de +derriere +devant +du +sous +sur +crayon +stylo +feutre +mine +gomme +dessin +coloriage +rayure +peinture +pinceau +couleur +craie +papier +feuille +cahier +carnet +carton +ciseaux +decoupage +pliage +pli +colle +affaire +boite +casier +caisse +trousse +cartable +jeu +jouet +pion +domino +puzzle +cube +perle +chose +forme +carre +rond +pate +modeler +tampon +livre +histoire +bibliotheque +image +album +titre +conte +dictionnaire +magazine +catalogue +page +ligne +mot +enveloppe +etiquette +carte +appel +affiche +alphabet +appareil +camescope +cassette +chaine +chanson +chiffre +contraire +difference +doigt +ecran +ecriture +film +fois +foi +idee +instrument +intrus +lettre +liste +magnetoscope +main +micro +modele +musique +nom +nombre +orchestre +ordinateur +photo +point +poster +pouce +prenom +question +radio +sens +tambour +telecommande +telephone +television +trait +trompette +voix +xylophone +zero +chanter +chercher +choisir +chuchoter +coller +colorier +commencer +comparer +compter +construire +continuer +copier +couper +dechirer +decoller +decorer +decouper +demolir +dessiner +dire +discuter +ecouter +ecrire +effacer +entendre +entourer +envoyer +faire +finir +fouiller +gouter +imiter +laisser +lire +mettre +montrer +ouvrir +parler +peindre +plier +poser +prendre +preparer +ranger +reciter +recommencer +regarder +remettre +repeter +repondre +sentir +souligner +tailler +tenir +terminer +toucher +travailler +trier +ami +attention +camarade +colere +copain +coquin +dame +directeur +directrice +droit +effort +eleve +enfant +fatigue +faute +fille +garcon +gardien +madame +maitre +maitresse +mensonge +ordre +personne +retard +joueur +sourire +travail +aider +defendre +desobeir +distribuer +echanger +expliquer +gronder +obeir +obliger +partager +preter +priver +promettre +progres +progresser +punir +quitter +raconter +expliquer +refuser +separer +blond +brun +calme +curieux +different +doux +enerver +gentil +grand +handicape +inseparable +jaloux +moyen +muet +noir +nouveau +petit +poli +propre +roux +sage +sale +serieux +sourd +tranquille +arrosoir +assiette +balle +bateau +boite +bouchon +bouteille +bulles +canard +casserole +cuillere +cuvette +douche +entonnoir +gouttes +litre +moulin +pluie +poisson +pont +pot +roue +sac +plastique +saladier +seau +tablier +tasse +trous +verre +agiter +amuser +arroser +attraper +avancer +baigner +barboter +boucher +bouger +deborder +doucher +eclabousser +essuyer +envoyer +couler +partir +flotter +gonfler +inonder +jouer +laver +melanger +mouiller +nager +pleuvoir +plonger +pousser +pouvoir +presser +recevoir +remplir +renverser +secher +serrer +souffler +tirer +tourner +tremper +verser +vider +vouloir +amusant +chaud +froid +humide +interessant +mouille +sec +transparent +moitie +autant +beaucoup +encore +moins +peu +plus +trop +anorak +arc +bagage +baguette +barbe +bonnet +botte +bouton +bretelle +cagoule +casque +casquette +ceinture +chapeau +chaussette +chausson +chaussure +chemise +cigarette +col +collant +couronne +cravate +culotte +echarpe +epee +fee +fleche +fusil +gant +habit +jean +jupe +lacet +laine +linge +lunettes +magicien +magie +maillot +manche +manteau +mouchoir +moufle +noeud +paire +pantalon +pied +poche +prince +pyjama +reine +robe +roi +ruban +semelle +soldat +sociere +tache +taille +talon +tissu +tricot +uniforme +valise +veste +vetement +changer +chausser +couvrir +deguiser +deshabiller +enlever +habiller +lacer +porter +ressembler +clair +court +etroit +fonce +joli +large +long +multicolore +nu +use +bien +mal +mieux +presque +aiguille +ampoule +avion +bois +bout +bricolage +bruit +cabane +carton +clou +colle +crochet +elastique +ficelle +fil +marionnette +marteau +metal +metre +morceau +moteur +objet +outil +peinture +pinceau +planche +platre +scie +tournevis +vis +voiture +arracher +attacher +casser +coudre +detruire +ecorcher +enfiler +enfoncer +fabriquer +mesurer +percer +pincer +reparer +reussir +servir +taper +trouer +trouver +adroit +difficile +dur +facile +lisse +maladroit +pointu +tordu +accident +aeroport +camion +engin +feu +frein +fusee +garage +gare +grue +helicoptere +moto +panne +parking +pilote +pneu +quai +train +virage +vitesse +voyage +wagon +zigzag +arreter +atterrir +bouder +charger +conduire +demarrer +disparaitre +donner +ecraser +envoler +garder +garer +manquer +partir +poser +reculer +rouler +tendre +transporter +voler +abime +ancien +blanc +bleu +casse +cinq +dernier +deux +deuxieme +dix +gris +gros +huit +jaune +meme +neuf +pareil +premier +quatre +rouge +sept +seul +six +solide +trois +troisieme +un +vert +dessus +autour +vite +vers +acrobate +arret +arriere +barre +barreau +bord +bras +cerceau +chaise +cheville +chute +coeur +corde +corps +cote +cou +coude +cuisse +danger +doigts +dos +echasses +echelle +epaule +equipe +escabeau +fesse +filet +fond +genou +gymnastique +hanche +jambe +jeu +mains +milieu +montagne +mur +escalade +muscle +numero +ongle +parcours +pas +passerelle +pente +peur +pied +plongeoir +poignet +poing +pont +signe +singe +poutre +equilibre +prise +riviere +crocodile +roulade +pirouette +saut +serpent +sport +suivant +tete +toboggan +tour +trampoline +tunnel +ventre +accrocher +appuyer +arriver +baisser +balancer +bondir +bousculer +cogner +courir +danser +depasser +descendre +ecarter +escalader +gagner +gener +glisser +grimper +marcher +pattes +debout +monter +montrer +pencher +percher +perdre +ramper +rater +remplacer +respirer +retourner +revenir +sauter +soulever +suivre +tomber +transpirer +traverser +dangeureux +epais +fort +groupe +immobile +rond +serre +souple +ensemble +ici +jamais +toujours +souvent +bagarre +balancoire +ballon +bande +bicyclette +bille +cage +ecureuil +cerf +volant +chateau +coup +cour +course +echasse +flaque +eau +paix +pardon +partie +pedale +pelle +pompe +preau +raquette +rayon +recreation +sable +sifflet +signe +tas +tricycle +tuyau +velo +file +rang +bagarrer +battre +cacher +cracher +creuser +crier +degonfler +dispute +empecher +galoper +hurler +jongler +lancer +pedaler +plaindre +pleurer +poursuivre +proteger +saigner +salir +siffler +surveiller +trainer +trouver +fou +mechant \ No newline at end of file