Aller au contenu

ELCa11 - Projet : Motus


Objectif

Développer en binôme, avec Qt et QML, une réplique fonctionnelle du jeu Motus.

Pour les modalités générales (livrables, critères d’évaluation, conseils), voir le readme du projet.

Motus

L’interface ci-dessus est celle de l’application Play Motus (consultable pour information). À reproduire dans l’esprit, pas à l’identique.

Règles du jeu

Le joueur doit deviner un mot caché, choisi au hasard parmi un dictionnaire, en proposant des mots de même longueur que le mot caché. À chaque essai :

  • chaque lettre du mot proposé est colorée selon sa position :
    • rouge (ou vert) : lettre bien placée (présente dans le mot et au bon endroit) ;
    • jaune : lettre présente dans le mot mais à une autre position ;
    • gris : lettre absente du mot ;
  • la première lettre du mot caché est donnée d’emblée au joueur.

La partie s’arrête lorsque l’une des conditions suivantes est remplie :

  • le mot est trouvé (victoire) ;
  • le nombre maximum d’essais est atteint (par convention 6 essais) ;
  • le temps total imparti est écoulé (chronomètre optionnel selon le niveau).

Fonctionnalités minimales attendues

  • [ ] Une grille de N lignes (= nombre d’essais autorisés) sur L colonnes (= longueur du mot, par exemple L = 6).
  • [ ] Tirage aléatoire du mot caché parmi un dictionnaire (cf. ci-dessous).
  • [ ] Saisie d’un mot par le joueur (au clavier), avec validation au Entrée.
  • [ ] Vérification que le mot saisi a la bonne longueur et appartient au dictionnaire (refus sinon).
  • [ ] Coloration des lettres après chaque essai selon les règles ci-dessus.
  • [ ] Affichage du nombre d’essais restants.
  • [ ] Affichage du résultat final (gagné / perdu, avec le mot caché révélé).
  • [ ] Bouton ou raccourci pour démarrer une nouvelle partie.

Dictionnaires fournis

Deux dictionnaires libres, à choisir selon la langue voulue :

  • Anglais : words_alpha.txt — un mot par ligne, sans accents.
  • Français : Liste-de-mots-francais-Gutenberg — un mot par ligne, avec lettres accentuées. À pré-traiter : remplacer chaque lettre accentuée par son équivalent non accenté (ée, àa, çc, etc.) avant utilisation, sinon votre clavier ne pourra pas saisir les accents correctement.

Note technique : si votre grille est de 8 lettres, votre programme ne doit considérer que les mots de 8 lettres du dictionnaire. Penser à filtrer.

Extensions possibles

Une fois les fonctionnalités minimales en place :

  • Mot final affiché en clair en cas de défaite (avec animation éventuelle).
  • Longueur paramétrable du mot (par exemple 6 à 10 lettres), avec mise à jour automatique de l’interface.
  • Choix de la langue (français / anglais) via un menu, avec rechargement dynamique du dictionnaire et de l’interface.
  • Chronomètre visible : compte à rebours par essai ou pour la partie complète.
  • Statistiques : nombre de parties jouées, nombre de victoires, série en cours (sauvegardées sur disque).
  • Mode “difficile” : moins d’essais autorisés, ou pas d’indication sur la première lettre.