47 lines
2.1 KiB
Markdown
47 lines
2.1 KiB
Markdown
# 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
|
|
``` |