Ce projet a pour objectif de développer un petit jeu de mémorisation de nombres en Java.
L'utilisateur dispose de 5 secondes pour mémoriser une suite de chiffres qui s'affiche brièvement à l'écran.
Il doit ensuite réécrire correctement la suite dans un champ de saisie.
À chaque réussite, la longueur de la suite augmente de 1.
Le jeu affiche une séquence de chiffres générée aléatoirement, que l’utilisateur doit mémoriser. Il dispose d’un chronomètre de 5 secondes pour la lire, après quoi elle disparaît. Il doit alors la ressaisir dans un champ prévu à cet effet. S’il réussit, le niveau augmente et la séquence s’allonge. Sinon, le jeu affiche un message de défaite. Le jeu se répète indéfiniment jusqu’à une erreur.
Cette vidéo montre une démonstration du jeu Number Memory en action. Vous pouvez voir comment le nombre s'affiche, le chrono défile, et comment l'utilisateur doit saisir la suite de chiffres avant la fin du temps imparti.
Schéma UML du Number Memory.
Le projet complet suit un schéma MVP, et repose sur trois classes principales : NumberMemoryModel, NumberMemoryView, et Controleur.
Affichage initial du nombre à mémoriser avec le chronomètre
Phase de saisie du nombre par l'utilisateur
Passage au niveau suivant
Code de la classe NumberMemoryModel
Thread.sleep par un Swing Timer pour éviter les blocages de l’interfaceCe projet m’a permis de comprendre concrètement l’organisation d’un programme Java avec interface graphique, et d’explorer le modèle MVP. J’ai appris à structurer mon code de manière modulaire, à gérer des entrées utilisateurs, et à utiliser les composants Swing pour créer une interface simple mais fonctionnelle.
Points forts : structure claire, logique simple, projet abouti.
Difficultés : gestion des timers bloquants, design de l’IHM limité par Swing.
Axes d’amélioration : UI plus moderne, gestion non-bloquante du temps, meilleure modularisation.