# Projet : FOC21 - Rédacteur: Pierre Lenertz - URL GIT : https://git.unistra.fr/deleted_user_177013/t4-foc21 ## Description des objectifs pédagogiques du jeu ### Objectif pédagogique général Montrer comment les exercices de morphologie dérivationnelle peuvent permettre aux enfants dyslexiques de déduire la signification de mots inconnus et de développer leur vocabulaire. ### Description des objectifs pédagogiques #### Comprendre les principes de la morphologie dérivationnelle - De nombreux mots sont composés de plusieurs parties appelées morphèmes. - Les morphèmes peuvent être catégorisés selon leur utilisation : Préfixes, radicaux et suffixes. - Chaque morphèmes d'un mot apporte à sa signification. #### Comprendre les difficultés des dyslexiques - Les enfants dyslexiques éprouvent des difficultés de lecture et se retrouvent souvent face à des mots inconnus. - L’étude de la morphologie peut servir d’astuce pour comprendre des mots compliqués en subdivisant la tâche en tâches plus faciles. ## Description du jeu - **Type de jeu**: Jeu éducatif - **Incarnation du joueur**: Un enfant dyslexique ### Déroulement d’une partie A chaque tour de partie sera présenté au joueur un mot généré par combinaison de morphèmes, qu’il existe ou non.<br> Le joueur va alors pouvoir découper le mot selon les phonèmes reconnus.<br> Le joueur peut se tromper et découper le mot comme il le souhaite.<br> Le joueur peut alors valider son choix pour passer au tour suivant.<br> En fin de partie, le joueur verra une récapitulation de ses tours ainsi qu’une correction. Pour chaque morphème d’un mot sera affichée une courte description de son sens. ### Paramétrage d’une partie - nombre de mots : nombre de mots(tours) pour cette partie - complexité des mots: nombre de morphèmes moyen dans les mots générés pour la partie ## Modèle conceptuel applicatif Liste decrivant les classes et entités du jeu : - Model - Tables - Radical: <u>id</u>, rad, terminaison, desc - Prefixe: <u>id</u>, pre, desc - Suffixe: <u>id</u>, suf, desc - Partie(int nbMots, float complexite): - correction: List<[string]> liste des mots générés servant de correction - decoupage: List<[string]> propositions de découpage donnés par l’utilisateur - motCourant : int - genererMots(int nb, float complexite): List<[string]> génère les mots à partir de la base de données - formaterPropositions() initialise une version collée des mots se trouvant dans la correction - getMot(int nb) : [string] récupère un mot prêt à être découpé par l’utilisateur - setMot(int nb, [string]) sauvegarde la proposition de découpage de l’utilisateur - compterPoints() : int compte le nombre de découpage correct - getCorrection(int nb): [string] récupère la correction pour un mot - getMotCourant() : [string] recupere le mot courant - validerMotCourant([string] mot) valide le mot courant et incremente le mot courant - Controleur - PartieCtrl (Partie model): - model : Partie - getMotSuivant() : [string] mot à découper - validerMot[string] mot) valide le découpage d’un mot - getMot(int nb) : [string] récupère une proposition de mot donnée prealablement - getCorrection(int nb) : [string] récupère la correction d’un mot - Vues: - DecoupageMot(PartieCtrl ctrl): - ctrl: PartieCtrl contrôleur de la partie - mot: [string] découpage du mot - afficheMot() affiche le mot à découper en créant un label par lettre des string, et entre les tring ajoute un espace cliquable pour lancer la fonction de recolage de mot - decouperMot(int index) découpe le mot à un indice donné du mot total - recolletMot(int index) recole la partie d’indice index à la partie suivante - valider() valide le mot au contrôleur et ferme cette vue - Resultats(PartieCtrl ctrl) - ctrl: PartieCtrl contrôleur de la partie - afficherCorrection() afficher le découpage correct comparé à celui donné pour chaque mot de la partie - fin() : Validation finale pour finir la partie ## Description des fonctionnalités ### Entrée #### Gestion des tours - **Valider** : Valide le choix de découpage et passe au tour suivant #### Découpage des mots - **Couper** : En passant la souris sur le mot, le joueur pourra séparer le mot, en cliquant il pourra couper le mot à l'endroit sélectionné. L'action peut être répétée. - **Annuler** : En cliquant sur un espace créé par découpage, celui-ci peut être annulé pour recoller le mot. ### Sorties #### Progression - **TotalMots** : nombre de mots total générés pour la partie. - **NumMotActuel** : progression actuelle dans la partie #### Mots - **Mot** : Le mot à découper #### Fin de partie - **Decoupage** : Le mot découpé par l’utilisateur - **Correction** : le découpage correct pour le mot, (vert si juste, rouge si faux) ### Moteur interne