Ce projet Unity est structuré selon un pattern MVC (*Model*, *View*, *Controller*) afin de séparer :
- La logique métier et les données (*Models*),
- L’affichage et l’interface (*Views*),
- L’orchestration et la gestion des actions utilisateur (*Controllers*).
Assets/2 - Scripting/Controllers/: classes qui pilotent le flux du jeu, relient modèles et vues.Assets/2 - Scripting/Models/: données et logique du jeu ((état) board, inventaire, cartes, etc.).Assets/2 - Scripting/Views/: scripts liés à l’affichage, à l’UI et à la représentation des objets.Assets/2 - Scripting/Menu/: scripts liés à la navigation et aux scènes de menu.Assets/2 - Scripting/Models/CardGenerator/: données et génération/configuration des cartes.
-
Assets/2 - Scripting/Controllers/GameController.cs
Contrôleur principal : coordonne la partie, le déroulement global et les interactions entre modèles/vues. -
Assets/2 - Scripting/Controllers/BoardController.cs
Gère la logique de plateau : navigation, sélection, actions sur les cases, synchronisation board (*Model*) / board (*View*). -
Assets/2 - Scripting/Controllers/InventoryController.cs
Pilote les actions côté inventaire : gestion des slots, ajout/retrait d’objets ou cartes, mise à jour de l’UI. -
Assets/2 - Scripting/Controllers/SFXManager.cs
Centralise la gestion des effets sonores (déclenchement, variations, etc.).
-
Assets/2 - Scripting/Models/GameModel.cs
Représente l’état global de la partie (données persistantes pendant une session, états clés). -
Assets/2 - Scripting/Models/BoardModel.cs
Données du plateau : collection de cases, état du board, informations nécessaires au gameplay. -
Assets/2 - Scripting/Models/InventoryModel.cs
Données d’inventaire : slots, contenu, règles de stockage, état courant. -
Assets/2 - Scripting/Models/CardModel.cs
Modèle d’une carte : statistiques, type, propriétés nécessaires au gameplay. -
Assets/2 - Scripting/Models/CaseModel.cs
Modèle d’une case du plateau : contenu, état, interactions possibles.
-
Assets/2 - Scripting/Views/GameView.cs
Vue principale : affichage des informations de partie, liaison UI & mises à jour visuelles globales. -
Assets/2 - Scripting/Views/BoardView.cs
Représentation du plateau : instanciation/rafraîchissement visuel, feedback utilisateur. -
Assets/2 - Scripting/Views/InventoryView.cs
Affichage de l’inventaire : slots, rafraîchissement UI, présentation du contenu. -
Assets/2 - Scripting/Views/CardView.cs
Affichage d’une carte : texte, icônes, stats, état sélectionné, etc.
Assets/2 - Scripting/Menu/LoadScene.cs: chargement de scènes.Assets/2 - Scripting/Menu/MenuScript.cs: logique UI du menu.Assets/2 - Scripting/RandomWheelSound.cs: variation/rotation de sons (utilitaire audio).Assets/2 - Scripting/Models/CardGenerator/CardData.cs: données ScriptableObject pour cartes.
- Scripts :
Assets/2 - Scripting/ - MVC :
Controllers/,Models/,Views/
Feedbacks prof Le projet présente une très bonne maîtrise du MVC. Vous avez su l’intégrer de manière cohérente et pertinente à travers de nombreuses classes, avec une architecture propre et lisible. Cette approche témoigne d’une réelle compréhension du modèle et d’une bonne capacité à l’appliquer dans un contexte concret. Le jeu est également agréable à prendre en main, avec une expérience globalement fluide. Quelques feedbacks supplémentaires auraient permis d’améliorer encore le ressenti utilisateur, mais l’ensemble reste très solide. Le travail réalisé sur le code est particulièrement notable et constitue un vrai point fort du projet.