Jeu des Labyrinthes
Développement d'une application JavaFX avec architecture SOLID
Java
Programmation orientée objet
JavaFX
Interface graphique
JUnit 5
Tests unitaires
Gameplay Interactif
Déplacement fluide du personnage et interaction avec l'environnement
Génération de niveaux
Chargement dynamique des cartes de labyrinthe
Boutique de cosmétiques
Système de personnalisation permettant de débloquer des apparences en utilisant ses points
Sauvegarde des joueurs
Persistance des données (scores, inventaire) pour conserver la progression entre les sessions
Analyse réflexive
Une analyse honnête du parcours, des obstacles rencontrés et des compétences acquises durant ce projet.
Mon rôle
Responsable du refactoring de l'interface JavaFX (migration vers FXML), de la mise en place d'un système de routage centralisé, et co-responsable de l'architecture (suppression des Singletons, application des principes SOLID et du pattern Observer).
Défis & Solutions
Le défi principal a été d'intégrer rigoureusement les principes SOLID et divers design patterns (Factory, Observer) dans un code existant. La création et l'intégration de différents algorithmes de génération de labyrinthes ont également posé des défis d'abstraction.
Apprentissages
J'ai concrètement appris à refactoriser une application pour la rendre plus maintenable. Le passage de propriétés JavaFX couplées au modèle vers un pattern Observer/Observable classique a été très formateur.
Compétences transversales
Coordination avec un groupe de 4 personnes sur 8 semaines, avec une répartition claire des tâches et des sessions de refactoring en commun.
Capacité à remettre en question et réécrire des parties entières du code (comme le système de routage ou les singletons) pour améliorer la qualité globale du projet.
Version web jouable
Bien qu'il s'agisse d'une application de bureau native, le jeu est jouable directement dans le navigateur grâce à JPro ↗.

