Ce projet récupère des mots aléatoires à partir d'une source web, puis permet à l'utilisateur de jouer au jeu du pendu en essayant de deviner un mot choisi aléatoirement.
-
Récupération des mots à partir du web :
- Les mots sont extraits depuis un site web à l'aide du scrapping.
- Le projet récupère des mots à partir de l'URL
https://usito.usherbrooke.ca/index/mots/tous/en scrappant chaque page de lettres de l'alphabet deaàz.
-
Expression régulière pour valider les mots :
- Seuls les mots contenant entre 5 et 10 caractères alphanumériques sont pris en compte.
-
Sauvegarde des mots dans un fichier :
- Les mots récupérés sont enregistrés dans un fichier texte
words.txt.
- Les mots récupérés sont enregistrés dans un fichier texte
-
Définition du mot :
- Le programme permet de récupérer la définition d'un mot via un autre site web et l'affiche dans la console.
-
Jeu du Pendu :
- Le programme choisit un mot aléatoire du fichier
words.txtet lance une partie du jeu du pendu. - L'utilisateur doit deviner le mot lettre par lettre en fonction du nombre de vies initiales.
- Le programme choisit un mot aléatoire du fichier
Avant de pouvoir utiliser ce programme, assurez-vous que les bibliothèques suivantes sont installées :
requestsbeautifulsoup4relogging
Pour installer les dépendances nécessaires, vous pouvez utiliser pip :
pip install requests beautifulsoup4Le programme peut être utilisé pour récupérer la définition d'un mot via l'URL d'Usito. Par exemple, pour récupérer les informations d'un mot donné, il suffit d'exécuter le script principal. Lorsque vous êtes invité à saisir un mot, entrez-le et appuyez sur "Entrée". Vous recevrez la définition du mot s'il existe.
python mots.pyVous serez invité à entrer un mot, et le programme affichera la définition du mot récupéré depuis https://usito.usherbrooke.ca/.
Lors de l'exécution du jeu, le programme choisit un mot aléatoire parmi les mots récupérés et lance une partie du pendu. Vous devez deviner le mot en saisissant des lettres. Vous avez un nombre de vies basé sur la longueur du mot à deviner.
- Vous devez entrer une lettre à la fois pour deviner le mot.
- Si vous devinez une lettre incorrecte, vous perdez une vie.
- Si vous devinez correctement une lettre, elle est révélée dans le mot à deviner.
Le jeu continue jusqu'à ce que vous trouviez le mot ou que vous ayez épuisé toutes vos vies.
- Cette fonction récupère tous les mots d'une page spécifique à partir d'un lien donné.
- Elle utilise requests pour envoyer une requête HTTP et BeautifulSoup pour analyser la page HTML.
- Elle génère tous les liens à partir de l'alphabet et récupère les mots valides à partir de chaque lien.
- Cette fonction enregistre les mots dans un fichier texte
words.txt.
- Elle récupère la définition d'un mot à partir du site Usito.
- Elle récupère un mot aléatoire depuis le fichier
words.txt. Si le fichier n'existe pas, il récupère d'abord les mots depuis le web.
- Une partie du pendu est lancée avec un mot aléatoire, et l'utilisateur doit deviner ce mot avec un nombre de vies déterminé par la longueur du mot.
- La partie se termine lorsque l'utilisateur trouve le mot ou épuisé ses vies.
Le projet génère un fichier words.log pour enregistrer les événements et erreurs pendant le scrapping et le processus du jeu du pendu. Les logs incluent les connexions réussies aux pages, les erreurs de requêtes et les erreurs inattendues.
2025-03-16 14:00:00,000 - INFO - Tentative de connexion à l'URL : https://usito.usherbrooke.ca/index/mots/tous/a
2025-03-16 14:00:01,000 - ERROR - Erreur de requête : [Erreur HTTP]
- Ajouter des fonctionnalités pour jouer à plusieurs parties consécutives.
- Intégrer un système de sauvegarde pour suivre les scores du joueur.
- Ajouter une interface graphique pour une meilleure expérience utilisateur.
Ce projet est sous la licence MIT. Vous pouvez l'utiliser et le modifier selon vos besoins.