# Exemple final de ce à quoi on pourrait arriver Cette solution est un aperçu des bonnes pratiques mises en place. ``` MiniJeuxFinal/ │ ├── MiniJeuxFinal.csproj # Fichier projet C# .NET 9 │ ├── Program.cs # Point d'entrée de l'application │ ├── GameFactory/ │ └── PierrePapierCiseauxGameFactory.cs # Création du jeu │ ├── Games/ │ ├── IGame.cs # Interface générale d'un jeu │ ├── IAction.cs # Interface générale d'une action │ ├── IPlayer.cs # Interface générale d'un joueur │ │ │ ├── PierrePapierCiseaux/ # Implémentation spécifique du jeu PPC │ │ ├── PierrePapierCiseauxGame.cs # Classe principale du jeu PPC │ │ │ │ │ ├── Actions/ # Actions spécifiques au PPC │ │ │ ├── IActionPpc.cs # Interface spécialisée (hérite de IAction) │ │ │ ├── StoneAction.cs # Pierre │ │ │ ├── PaperAction.cs # Papier │ │ │ └── ScissorsAction.cs # Ciseaux │ │ │ │ │ ├── Factories/ # Factories pour créer les actions PPC │ │ │ ├── IActionPpcFactory.cs # Interface des factories PPC │ │ │ ├── InputActionFactory.cs # Factory pour l'entrée utilisateur │ │ │ └── RandomActionFactory.cs# Factory aléatoire (IA) │ │ │ │ │ └── Players/ │ │ └── PlayerPpc.cs # Joueur spécialisé pour le PPC │ │ │ └── Trash/ # Anciennes versions ou brouillons │ ├── Pendu.cs │ └── Ppc.cs │ ├── Ui/ │ └── GameRunnerConsole.cs # Orchestrateur UI Console (affichage) │ ├── Wrappers/ # Abstractions des dépendances externes │ ├── IConsole.cs # Interface pour la console │ └── ConsoleService.cs # Implémentation réelle de IConsole ```