Skip to content
Snippets Groups Projects
Commit e32293e1 authored by jonas.stirnema's avatar jonas.stirnema
Browse files

Modified some paragraphs

parent 4869ebbe
No related branches found
No related tags found
No related merge requests found
# Wordle
#### But du travail pratique
Le but de ce travail pratique est de réaliser un wordle. Le jeu doit implémenté 3 modes différents:
- un mode solo
## But du travail pratique
Le but de ce travail pratique est de réaliser un wordle. Le jeu doit contenir 3 modes de jeu différents:
- un mode solo
- un mode assisté
- un mode 2 joueurs 1vs1
Le wordle est un jeu de lettre consistant à trouver un mot de la façon la plus rapide en un nombre d'essais le plus réduit possible. Un fichier de mots en français est fournis.
#### Fonctionnement et règles
- un mode 2 joueurs 1 vs 1
Le but du wordle est de deviner des mots de 5 lettres. Le nombre d'essai maximum est fixé à 6. L'objectif est de trouver le mot caché en fonction des informations reçus à chaque essai. À chaque mot choisi, les lettres ont un code couleur qui leur est attribué. 🟩 pour les lettres bien placées, 🟧 pour les lettres existantes mais pas bien placées, et il y a aucun changement de couleur pour les lettres non présentes. Pour chaque essai, il est nécessaire de rentrer un mot de la langue française.
Le wordle est un jeu de lettre consistant à trouver un mot de la façon la plus rapide en un nombre d'essais le plus réduit possible.
#### Le mode solo
## Fonctionnement et règles
Le but du wordle est de deviner des mots de 5 lettres. Le nombre d'essai maximum est fixé à 6. L'objectif est de trouver le mot caché en fonction des informations reçus à chaque essai. À chaque mot choisi, les lettres ont un code couleur qui leur est attribué. 🟩 pour les lettres bien placées, 🟧 pour les lettres existantes mais pas bien placées, et il y a aucun changement de couleur pour les lettres non présentes. Pour chaque essai, il est nécessaire de rentrer un mot de la langue française (dans notre cas, les mots viennent d'un dictionnaire fournis).
Ce mode implémentera un wordle simple en suivant les régles régissant le jeu.
## Modes de jeu
#### Le mode assisté : Outil d'aide
### Solo
Un mode simple, ou l'on doit deviner le mot en un nombre d'essais reduit.
Ce mode présentera au joueur à chaque essai, un certain nombre de mot pouvant correspondre le mieux au mot caché avec les informations actuelles. Au départ, il est possible de proposer les mots avec la plus grande entropie. Cet outil d'aide se basera sur la théorie de l'information.
### Assisté : Outil d'aide
Un mode dans lequel des suggestions sont proposées chaque tour en fonction des informations disponibles. Au départ, il proposera des mots avec une grande entropie pour maximiser les informations obtenues. Cet outil d'aide se base sur les principes de la théorie de l'information.
#### Mode 1vs1
### Versus
Le mode versus consiste en un affrontement entre deux joueurs. Le joueur ayant obtenu le meilleur score gagne. Le score est calculé en fonction du nombre d'essaies. On peut également imaginer ajouter un facteur de temps pour le calcul du score (BONUS).
Chaque joueur joue en alternance pour chacun des mots, et l'interface est effacée entre 2 joueurs afin d'éviter la copie.
## Interface CLI
L'interface de jeu s'affichera dans la console.
- Elle devra comporter un menu inital permettant de choisir le mode de jeu.
- L'espace de jeu principal devra afficher le mot en cours, ainsi que les précédentes tentatives.
- Dans le mode Assisté, l'espace de jeu devra également comporter les suggestions.
Il est autorisé d'utiliser des outils tels que Ncurses afin de rendre l'affichage plus attractif et ergonomique.
#### Scoring
## Implementation
Le scoring est fortement inspiré par le système suivant : https://wordlecup.io/. Le score peut être calculé sans s'occuper du temps. Il est possible en supplément au travail d'ajouter la gestion du temps.
### Lecture du dictionnaire et choix d'un mot
Implémenter une fonction qui va choisir un mot aléatoire depuis un fichier texte `dictionnaire.txt`.
Il faut également effectuer un filtrage des mots grâce aux critères suivants:
- Mots de 5 lettres uniquements
- Pas de mot avec accents / caractères spéciaux / espaces
#### Interface
### Menu de choix de mode de jeu (Solo, Multi, Auto)
Implémenter un menu afin de laisser l'utilisateur choisir Le mode de jeu.
L'interface du jeu avec l'utilisateur se fera sur la console du terminal et devra présenter un menu permettant de selectionner le mode de jeu désiré.
####
## Lecture du dictionnaire et choix d'un mot (filtrage?)
Implémenter une fonction qui va lire un mot aléatoire depuis un fichier texte `dictionnaire.txt`
## Menu de choix de mode de jeu (Solo, Multi, Auto)
Implémenter un menu afin de laisser l'utilisateur choisir un mode de jeu.
## Lecture Entrée Utilisateur
### Lecture Entrée Utilisateur
- Lire ce que l'utilisateur entre au clavier.
- Verifier que le mot soit dans le dictionnaire avant de le valider.
- Si le mot est valide, comparer le mot entré au mot à trouver.
- Traiter les lettres **valides**, **bien placées** et **mal placées**.
## Interface CLI.
## IA
Trouver une façon optimale de présenter une aide pour le joueur (basé sur les probabilités, entropie, Hamming ?)
# Tester son programme
## Tester son programme
1. Tester que le mot soit bien filtré et soit présent dans le dictionnaire
- Ne laisser que des mots de 5 lettres
- Pas de mot avec accents / caractères spéciaux
......@@ -81,7 +80,7 @@ Trouver une façon optimale de présenter une aide pour le joueur (basé sur les
3. Tester qu'après 6 essais, le programme recommence une nouvelle partie.
#### Liens
## Liens
- https://towardsdatascience.com/information-theory-applied-to-wordle-b63b34a6538e
- https://www.youtube.com/watch?v=v68zYyaEmEA
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment